繁体   English   中英

Python ...在菜单选项选择上隐藏小部件 - Tkinter

[英]Python… Hide widget upon menu option selection - Tkinter

使用Tkinter时,我试图使标签消失,当使用MenuOption()选择特定选项时,另一个标签出现在其位置。 我可以在不需要“刷新”按钮的情况下完成此操作吗?

更新了我的代码示例:

mGui = Tk()
mGui.geometry('570x130+700+200')
mGui.resizable(width = FALSE, height = FALSE)
mGui.title('Title')


mylist = ['henry', 'tom', 'phil']
someValue = StringVar()

mLabel = Label(text = 'name:  ').grid(row = 0, column = 0, sticky = E)

someMenu = OptionMenu(mGui, someValue, *mylist)
someMenu.grid(row = 0, column = 1, sticky = W)
someMenu.config(width = 14, anchor = W)

mGui.mainloop()

所以,如果someMenu.get()=='tom'我想隐藏mLabel ...

所以我添加了以下内容:

def something():
        print someValue.get()

mylist = ['henry', 'tom', 'phil']
someValue = StringVar()
someValue.trace('w', something)

并且我得到TypeError:'NoneType'对象不可调用..嗯嗯

您可以在someValue跟踪,可以在值发生变化时调用函数。 在该功能中,您可以执行任何操作,包括删除小部件。

该网站有一个例子: http//effbot.org/tkinterbook/variable.htm

if someMenu.get == "tom":
    buttonName.pack()
else:
    buttonName.pack_forget()

暂无
暂无

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

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