我需要一个菜单,它可以响应通过运行代码单击的项目,然后将文本切换回默认文本。
目前,我的实现有效,但默认文本仅在单击后光标悬停在菜单上时显示。
我已经搜索过,但找不到与此问题相关的任何内容,尽管这可能是因为我不确定究竟是什么原因造成的。
这是重现此行为的代码:
from tkinter import *
root = Tk()
default_text = 'select an item'
def thing_selected(self, *args):
#other stuff happens here
var.set(default_text)
var = StringVar(root)
var.set(default_text)
var.trace('w', thing_selected)
menu = OptionMenu(root, var, *['Pizza','Lasagne','Fries','Fish'])
menu.pack()
root.mainloop()
这是一个代表结果的gif:
我希望顶部的文本会立即更新,但只有当光标悬停在小部件上时才会更新
我正在寻找某种方法来触发小部件上的悬停事件,或者我愿意接受任何其他方法的建议来实现这一点。
慕斯王
相关分类