-1
我使用Python Tkinter中的Menubutton創建了一個下拉列表,但我無法檢測到哪個按鈕被按下('button-1','button-2'或'按鈕-3')的字符串定義Tkinter Python中下拉列表的按鈕按鈕
contentMenu.add_command(label=btn, command=???)
在
我應該使用什麼爲 「命令=」,以限定特定按鈕?謝謝!
我使用Python Tkinter中的Menubutton創建了一個下拉列表,但我無法檢測到哪個按鈕被按下('button-1','button-2'或'按鈕-3')的字符串定義Tkinter Python中下拉列表的按鈕按鈕
contentMenu.add_command(label=btn, command=???)
在
我應該使用什麼爲 「命令=」,以限定特定按鈕?謝謝!
你在找什麼是拉姆達。您可以在命令調用中使用的λ像這樣:
contentMenu.add_command(label=btn, command = lambda btn=btn: buttonClicked(btn))
然後創建一個名爲buttonClicked
方法,這將需要一個參數,它會反映已按下哪個按鈕。這裏是什麼看起來像一個小例子:
def buttonClicked(btn):
print btn
理想但如果每個按鈕都有一套完全不同的執行指令,則它們應分別獲得自己的方法,也許你改變列表中的元組(名稱,方法)。這通常是爲什麼你會使用menubutton而不是optionmenu的情況。如果你只是爲所有人調用相同的方法,那麼你可能會考慮切換到一個選項菜單。