import tkinter
window = tkinter.Tk()
def abc(event):
ans=0
numberss=['7','8','9']
omenu2['menu'].delete(0, 'end')
for number in numberss:
omenu2['menu'].add_command(label=numberss[ans], command=efg)
ans=ans+1
def efg(event=None):
print('yee')
numbers = ['1','2', '3']
number=['4','5','6']
var = tkinter.StringVar(window)
var1 = tkinter.StringVar(window)
omenu = tkinter.OptionMenu(window, var, *numbers, command = abc)
omenu.grid(row=1)
omenu2 = tkinter.OptionMenu(window, var1, *number, command = efg)
omenu2.grid(row=2)
最初のオプションメニューを入力すると、2番目のオプションメニューが更新されます。 2番目のデータにデータを入力するとコマンドが実行されますが、入力した内容は表示されません。私は、ボタンを含めることを望んでいないと私はコマンドが動作し、2番目にはないことを知っているtkinkerオプションメニューが選択された結果を表示しない
私はこれを実行したときにコマンドは動作しませんでしたそれは
omenu2['menu'].add_command(label=numberss[ans], command=tkinter._setit(var1, number))
(私も私は現在、それを理解していない。んが何であるかを知っていただきたいと思います)tkinter.setitに変更しましたので、これはコードの大きな部分から取られており、同じエラーをスローしました
[Tkinter GUI:別のオプションメニューの選択に応じてオプションメニューの選択肢を更新](https://stackoverflow.com/questions/19794069/tkinter-gui-update-choices-ボタンをクリックしたときのOptionMenuのオプションの変更](https://stackoverflow.com/questions/17580218/changing-the-usual-オプションメニュー) options-of-a-optionmenu-when-click-a-button)** tl; dr:**変数を設定する(これはvar1)。 – Lafexlos