Python 如何使tkinter.菜单成为焦点?

Python 如何使tkinter.菜单成为焦点?,python,tkinter,Python,Tkinter,我使用热键(Alt+s)激活菜单按钮 这是我的密码 MenuBar = tkinter.Menu(Win) StartMenu = tkinter.Menu(MenuBar) StartMenu.add_command(label="Action 1",command=ActionOne) StartMenu.add_command(label="Action 2",command=ActionTwo) MenuBar.add_cascade(label="Start",menu=StartMe

我使用热键(Alt+s)激活菜单按钮

这是我的密码

MenuBar = tkinter.Menu(Win)
StartMenu = tkinter.Menu(MenuBar)
StartMenu.add_command(label="Action 1",command=ActionOne)
StartMenu.add_command(label="Action 2",command=ActionTwo)
MenuBar.add_cascade(label="Start",menu=StartMenu)
我绑定一个事件以使StartMenu成为焦点

所以我用

Win.bind_all("<Alt-s>",lambda event: StartMenu.focus())
Win.bind_all(“,lambda事件:StartMenu.focus())
它不起作用

而focus_force()也不起作用。(我不知道它是否起作用,但它没有任何变化)

Win.bind\u all(“,lambda事件:StartMenu.focus\u force())

当你说它不起作用时,是不是意味着它没有得到关注,还是说它没有打开?仅仅给它焦点是不足以打开菜单的。您是如何确定它没有获得焦点的?@BryanOakley谢谢,我想做的是当我按下
alt+s
,菜单就可以打开了。所以我使用
.focus()
。有什么方法可以实现这一点吗?在您的情况下,按下
alt-s
应该会显示
开始菜单
,因为它的标签是
Start
(第一个字符是'S')。因此不需要绑定键。我认为您使用的是Linux,对吗?然后尝试
MenuBar。添加\u cascade(label=“Start”,menu=startmenus,underline=0)
并重试。设置
underline=n
其中n是菜单字符串中字符的索引。
Win.bind_all("<Alt-s>",lambda event: StartMenu.focus_force())