python - 通过 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()
将对象(在本例中为标签)与变量声明放在同一行。
像这样,您将能够更改文本。这是您的代码更新!
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()
推荐阅读
- python - 创建库存历史记录的最有效方法是什么
- php - 如何创建该方法所属的同一类的实例?
- php - 防止在 PHP 中通过 URL 创建网页
- c++ - 执行 pthread_join 时间歇性应用程序崩溃
- azure - Azure Functions 仅与 Postman 一起返回“401 Unauthorized”
- c++ - 在 C++ 中创建和保存对象
- python - 如何向 rest-auth 的注册端点添加额外字段
- c# - 如何修复 MissingMethodException 错误,该错误由从启动的接口类中的方法调用产生
- process - 复制文件夹完成后打印一条消息
- maven - 如何在 IntelliJ 2019.2 中隐藏 Maven 构建阶段工具窗口?