Tkinter OptionMenu中的下拉按钮

时间:2018-06-01 19:34:55

标签: python tkinter optionmenu

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

enter image description here

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

2 个答案:

答案 0 :(得分:0)

您正在寻找的事件是Activate

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

您的onactivate回调需要Activate次回复,但您可能并不关心其属性。

问题的后半部分是如何更新菜单。要执行此操作,请使用menu属性,该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') 属性是Menu对象,您可以在其中调用deleteadd以及您想要的任何其他内容。所以,例如:

set

(但请注意,虽然最后{{1}}将var变为新的默认选择,并且确实显示在菜单标题中,但它不会导致所选项目成为新的默认选择如果光标没有超过任何菜单项,则突出显示。如果你想要它,那很棘手,所以希望你没有。)

答案 1 :(得分:0)

'<Activate>'没有用,但我找到了'<Button-1>',现在可以了。

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

谢谢:)