Tkinterでエントリをループで作成します。
別のエントリで数字を入力して、
- 入力値が"0"だったら、ループで作成した全てのエントリを"normal"に設定
- 入力値が"1"だったら、ループで作成したエントリの1番目だけ"normal"、他は"disabled"に設定
- 入力値が"2"だったら、ループで作成したエントリの1番目〜2番目だけ"normal"、他は"disabled"に設定
- 入力値が"3"だったら、ループで作成したエントリの1番目〜3番目だけ"normal"、他は"disabled"に設定
- ・・・
- 入力値が"10"だったら、ループで作成したエントリの1番目〜10番目だけ"normal"、他は"disabled"に設定("10"の場合は、実質"0"を入力したのと同じ)
- 入力値が"0"〜"10"ではなかったら、ループで作成した全てのエントリを"disabled"に設定
という処理を加えたいのですが、ループで作成したときに変数名が同じため、どのようにウィジェットを指定したらいいかわかりません。
指定する方法がありましたら教えてください。
Python
1import tkinter as tk 2import tkinter.ttk as ttk 3 4def pushed(e): 5 num = num_entry.get() 6 print(num) 7 # ここでループで作成したエントリのステートを変更したい 8 if num == "1": 9 pass 10 elif num == "2": 11 pass 12 # ・・・ 13 14win = tk.Tk() 15 16num_entry = tk.Entry(win) 17num_entry.grid() 18button = ttk.Button(win, text="click") 19button.grid() 20 21# 空のテキストボックスをループで10個作成 22for i in range(10): 23 entry = tk.Entry(win) 24 entry.grid() 25 26button.bind("<ButtonRelease>", pushed) 27win.mainloop()
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。