打開菜單控件元素我一直在使用Menubutton
和Menu
小部件創建菜單內的子菜單:的Tkinter Menubutton小部件鍵結合在同一窗口
from tkinter import *
root = Tk()
def f(event):
submenu.invoke(0)
mainmenu = Menubutton(root, text="Menu")
mainmenu.pack()
submenu = Menu(mainmenu)
mainmenu.config(menu=submenu)
submenu.add_command(label="Option 1")
submenu.add_command(label="Option 2")
現在我想添加一個鍵綁定到我的菜單:
mainmenu.bind("<Key>", f)
mainmenu.focus_set()
它作爲魅力:當我按下一個鍵時,它打開了子菜單。但問題是,子菜單是作爲一個被撕掉的頂層窗口打開的。但是我希望它可以用菜單在同一個窗口中打開。我將tearoff=0
加入submenu
(所以它變成這樣:submenu = Menu(mainmenu, tearoff=0)
)。但現在,它不會返回任何東西。我想弄明白爲什麼它沒有。也許我做錯了什麼...
我已經找到了一個解決方案,但沒有一個解決了這個問題。他們所說的只是添加一個鍵綁定來打印某些東西,但是我想要一個鍵綁定,它會自動點擊一個菜單項,並且彈出項目元素,但不是作爲一個單獨的窗口(可能叫做contextmenu
?) 。我無法在任何地方找到解決這一特定問題的解決方案。
那麼我怎麼能讓它發生?任何幫助,將不勝感激。
這聽起來像你問如何創建一個實際上不是菜單的菜單?如果它不是一個彈出窗口。你如何期待它出現? 「與菜單在同一窗口中打開」是什麼意思? –
我想讓子菜單不被撕掉。 –
同樣,當我不使用'tearoff = 0'時,它的功能就像魅力一樣,但是當我添加這個功能時,它不會返回任何東西。這很奇怪。 –