質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

解決済

pysimpleguiでデータベースを作りたい

退会済みユーザー

退会済みユーザー

総合スコア0

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

1回答

0評価

0クリップ

629閲覧

投稿2022/03/18 10:10

Python PySimpleGUI勉強中です。初心者ですがよろしくお願いします。
今は入力フォームを作成中です。フォーム完成したら、他のファイルのテーブルにデータベース蓄積していきたいです。(そのようなことができるのでしょうか?)
まずは一つ目の質問させていただきます。
WindowのComboの値によって2段目、3段目、4段目、5段目の一番左のInputTextの値を変更したいです。調べた結果のものを色々試してみましたが間違いだらけでしょうか実行されていません。
Comboは’F10,F20,F30,F40’です。

F10の場合上から りんご みかん バナナ 梨 スイカ
F20の場合上から 人間 サル わし くじら 鳥
F30の場合上から 東京 埼玉 茨城 宮城 富山
F40の場合 山田 大山 小島 渡辺 大島
としたいです。どこをどう書けばいいかわかりません。ご教示お願いしたいと思います。

今のコードです。
import PySimpleGUI as sg
import datetime
d_today = datetime.date.today()

レイアウト

sg.theme('Dark Blue 3')
sg.set_options(element_padding=(0, 1)) # 隙間無しに配置

#こちらが5段分あります↓
layout = [
[sg.InputText(d_today, size=(15, 1), ), sg.Combo(
['F10', 'F20', 'F30', 'F40'], size=(5, 1), , key='セット', enable_events=True)],
[sg.InputText(' ', size=(4, 1), key='InputText1'), sg.Submit(':'), sg.InputText(' ', size=(4, 1)), sg.InputText(' ', size=(4, 1)), sg.Submit(':'), sg.InputText(' ', size=(4, 1)), sg.InputText('', size=(5, 1)), sg.InputText('', size=(
15, 1)), sg.InputText('', size=(15, 1)), sg.InputText('', size=(18, 1)), sg.InputText('', size=(9, 1)), sg.InputText('', size=(8, 1)), sg.InputText('', size=(8, 1)), sg.InputText('', size=(5, 1)), sg.InputText('', size=(9, 1)), sg.InputText('', size=(7, 1))],

#↑のものが5段分あります。
[sg.Submit('実行ボタン')]
]

def F10_func():
input = {'InputText1': 'りんご ', 'InputText2': 'みかん',
'InputText3': 'バナナ', 'InputText4': '梨', 'InputText5': 'スイカ'}
#def F20_func():

def F30_func():

def F40_func():

window = sg.Window('作業日報', layout, size=(1320, 300))
while True:
event, Values = window.read()
if event == sg.WIN_CLOSED:
break

elif event == '-セット-':
F10_func()

elif (event, Value)
F20_func()

elif (event, Value)
F30_func()

elif (event, Value)
F40_func()

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

1T2R3M4

2022/03/18 10:37

IndentationErrorでますよ。
退会済みユーザー

退会済みユーザー

2022/03/18 19:53

すみません。初めて使わせていただいてルールがわかりませんでした。別に投稿した質問は締め切りました。削除はできませんでした。
megu_min19375A

2022/03/18 23:36 編集

別投稿の質問を締め切ったなら大丈夫ですよ。 そちらの質問に辿り着いた人がいたとしても、こちらを探すかもしれませんし。 ただマルチポストについては質問サイトで認めている(相互間共に)ってのは少ないかなと。 でも一気に作らずまず1つのComboの値が変化した時、どこに何をしたいのかから手を付けてみては如何ですか? InputTextを使う理由も不明(Comboで選択した値にリンクする物を表示するってだけではない?)ですしね。
megu_min19375A

2022/03/19 23:31

まずはExcelVBAでユーザーフォームを使って作成してみては如何でしょう。 そしたら『何が必要なのか?』直接的でないにしても条件がわかるかもです。
退会済みユーザー

退会済みユーザー

2022/03/20 05:05

ありがとうございます。調べているとinput Textが最初に目に付き作成始めました。inputだけでも作れるかなと思い始めたのですが違いがわかりません。 VBAでは作ったものはあるのですがそちらも1つのフォームのコンボボックスの内容でテキストボックスの表記を変えています。他のフォームを呼び出すより表記を変えようと考えました。 エクセルで充分なんですがそれをpythonを勉強し作成してみようと思いました。
megu_min19375A

2022/03/20 11:25 編集

pythonに挑まれるのは良い事と思います。 ただまず基礎的にどれだけ経験がおありなのか、またExcelの経験が有る点から考えてしまうとこの質問文が情報不足である事にお気づきになりませんか? 回答者は何もない状態で質問の文章のみで推測しなければなりません。 もっと簡易的な物を一度完成させてから応用していかないと、質問ではなく作成依頼になってしまいますよ。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。