2

私は初心者 (強調) プログラマーで、学習 GUI アプリケーションを作成しています。用語と定義の複数の入力フィールドを作成したいと考えています。エントリ ボックスを 1 つ作成するには、コード (と思います) は次のようになります。

term = StringVar()
term1 = Entry(root, textvariable = term)
term1.grid(row=1, column=1) 

私の目標は、ユーザーに必要な用語の数を尋ねるプロンプトを表示できるようにすることです。私の質問は、ユーザーが入力した数値に固有の入力フィールドの列を自動的に作成するには、どのループを実行する必要があるかということです。

4

1 に答える 1

2

x整数であるuser input を取得したとします。

for i in range(x):
    Entry(root, textvariable=StringVar()).grid(row=1, column=i+1)

しかし、残念ながら、そのエントリの値を取得することはできません。したがって、2 つのリストを取得できます。

variables = []
entries = []
for i in range(x):
    va = StringVar()
    en = Entry(root, textvariable=va)
    en.grid(row=1, column=i+1)
    variables.append(va)
    entries.append(en)

この場合、リストを使用してエントリと変数にアクセスできます。

entry1, entry2, entry3次に、ループ内でなどの名前が必要になる場合があります。これは、Python ではアクセスできない動的な変数の作成に関連しています。execまたはを使用するハック方法がありますが、__dict__お勧めしません。リストまたは辞書を使用するだけです。

于 2013-07-12T07:00:51.877 に答える