如何解决通过OptionMenu tkinter对象自动更新值
我想编写一个tkinter应用程序,该应用程序将根据OptionMenu对象的当前状态自动更新值。这就是我到目前为止所拥有的
from tkinter import *
root = Tk()
def show():
myLabel=Label(root,text=clicked.get()).pack()
clicked=StringVar()
clicked.set("1")
drop = OptionMenu(root,clicked,"1","2","3")
drop.pack()
myButton = Button(root,text="show selection",command=show)
root.mainloop()
在此版本中,只能通过单击按钮来更新文本。没有这个“中间人”,如何使文本自动更新?
解决方法
更改某些内容后,我开始使用它。
最好使用config()
函数来更改项目的属性,另一个重要的事情是,不要pack()
对象(在这种情况下为Label)与变量声明在同一行
像这样,您将能够更改文本。这是您的代码已更新!
from tkinter import *
def show():
myLabel.config(text = clicked.get())
root = Tk()
clicked=StringVar( value="1")
myLabel=Label(root,text="click the button at the bottom to see this label text changed")
myLabel.pack()
drop = OptionMenu(root,clicked,"1","2","3")
drop.pack()
myButton = Button(root,text="show selection",command=show)
myButton.pack()
root.mainloop()
,
您可以简单地将clicked
分配给textvariable
的{{1}},然后只要选择一个选项,标签就会被更新:
Label
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。