所以我有一个 Tkinter 小部件,它可以在线抓取结果。我希望它向小部件输出一些值,而不是 Python IDLE 控制台。我该怎么做?我会以编程方式/动态设置标签吗?我查找的每个示例都是如何将内容最初放入条目小部件中,这不是我想要的。
例如,假设您有一个小部件框
----------
[ ]
[ Search ]
[ ]
[ Output ]
----------
每当我单击搜索时,我都希望输出值显示在输出部分。
我该怎么做?
You can modify the contents of a label with the configure
method. For example:
import Tkinter as tk
import time
class SampleApp(tk.Tk):
def __init__(self):
tk.Tk.__init__(self)
self.button = tk.Button(self, text="Show time", command=self.on_show_time)
self.label = tk.Label(self)
self.button.pack()
self.label.pack()
def on_show_time(self):
self.label.configure(text=time.asctime())
app = SampleApp()
app.mainloop()
当然可以。您可以设置一个变量来保存 Tkinter 标签的值。使用该变量,您可以随时调用 .get() 和 .set() 对其进行更改。
下面是一个简单的例子,它只是用 time.time() 的当前值更新标签
import Tkinter
import time
class DynamicLabelExample(Tkinter.Frame):
def __init__(self, parent):
Tkinter.Frame.__init__(self, parent)
self.pack()
Tkinter.Button(self, text="Search", command=self.update_output).pack()
self.output_container = Tkinter.StringVar()
Tkinter.Label(self, textvariable=self.output_container).pack()
def update_output(self):
self.output_container.set(time.time())
root = Tkinter.Tk()
ex = DynamicLabelExample(root)
root.mainloop()
self.output_container
是我们每次按下按钮时都会操作的 Tkinter StringVar。
是的,你会在 gui 中设置一个标签。您可以使用text=StringVar
. 您拥有的变量在哪里StringVar
,当您更改 的值时StringVar
,它会更改标签的值。此外,StringVar
必须是一个tkinter
stringvar
对象。