我在菜单中创建了一个子菜单Menubutton
and Menu
小部件:
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
into submenu
(所以就变成了这样:submenu = Menu(mainmenu, tearoff=0)
)。但现在,它没有返回任何东西。我正在尝试找出为什么不行。也许我做错了什么......
我一直在寻找解决方案,但没有一个能解决问题。他们所告诉的只是添加一个打印出某些内容的键绑定,但是我想要一个可以自动单击菜单项的键绑定,并且它会弹出项目元素,但不是作为单独的窗口(也许它被称为contextmenu
?)。我在任何地方都找不到解决这个特定问题的方法。
那么我怎样才能实现它呢?任何帮助,将不胜感激。
I think
def f(event):
submenu.post(mainmenu.winfo_rootx(),
mainmenu.winfo_rooty() + mainmenu.winfo_height())
做你想做的事,即使tearoff=False
选项。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)