繁体   English   中英

Tkinter OptionMenu中的下拉按钮

[英]Drop down button in Tkinter OptionMenu

当我单击下拉列表按钮时,我需要更新列表:

在此处输入图片说明

如何将按钮绑定到某些功能?

您正在寻找的事件是Activate

optmenu.bind('<Activate>', onactivate)

您的onactivate回调onactivate带有Activate事件,但是您可能并不关心它的属性。

问题的后半部分是如何更新菜单。 为此,您可以使用menu属性,该属性是一个Menu对象,可以在其上调用deleteadd以及其他所需的对象。 因此,例如:

def onactivate(evt):
    menu = optmenu['menu']
    menu.delete(0, tkinter.END)
    menu.add_command(label='new choice 1')
    menu.add_command(label='new choice 2')
    menu.add_separator()
    menu.add_command(label='new choice 3')
    optvar.set('new choice 1')

(但是,请注意,虽然在末尾set var确实会导致它成为新的默认选择,并且确实显示在菜单标题中,但是如果没有将光标移到菜单项上,则不会导致选中的项目突出显示在任何菜单项上。如果需要,这很棘手,所以希望您不要。)

'<Activate>'无效,但是我找到了'<Button-1>' ,现在可以正常工作了。

optmenu.bind('<Button-1>', onactivate)

谢谢 :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM