我有一個for:
循環,並將每個郵箱我的郵件服務器創建一個Tkinter的菜單級聯,都指向同一個命令,下面的代碼:有什麼辦法可以獲得tkinter菜單按鈕的信息嗎?
menubar = Menu (rootA)
foldermenu = Menu(menubar, tearoff=0)
for i in range(len(mailboxes)):
foldermenu.add_command(label=mailboxes[i], command=switchBox)
但我需要一種方法來準確確定哪個按鈕是在我的代碼中單擊,那麼是否有任何方法可以返回剛剛創建的菜單選擇的「標籤」或返回索引或其他方式?例如,tkinter列表框具有功能.curselection()
無關,但您可以使用'command = switchBox',而不使用'lambda'和'()' –
哦,謝謝!我之前正在通過一些變量,試圖讓它起作用,並且必須忘記刪除它。 – Imm
或者您可以將'i'傳遞給lambda;在這種情況下,記住lambda中的變量在調用函數時計算,而不是在定義時計算(參見例如[here](http://stackoverflow.com/q/19837486/1639625)),即使用某些像'command = lambda x = i:switchBox(x)' –