我正在尝试在python中自动更改标签,我希望它每隔半秒更改一次,这是我的tkinter代码,被调用的函数(被放入“message”)返回一个新的字符串半秒钟,我做错了什么?
import Tkinter as tk
class Application(tk.Frame):
def __init__(self):
self.root = tk.Tk()
self.root.geometry("150x136")
tk.Frame.__init__(self, self.root)
self.create_widgets()
def create_widgets(self):
self.root.bind('<Return>', self.parse)
self.grid()
self.instruction = tk.Label(self, text = "QuickReader")
self.instruction.grid(row = 0, column = 0, columnspan = 4)
self.entry = tk.Entry(self)
self.entry.grid(row = 2, column = 0)
self.submit = tk.Button(self, text="Submit")
self.submit.bind('<Button-1>', self.parse)
self.submit.grid(row = 4, column = 0)
self.words = tk.Label(self, text = "Start")
self.words.grid(row = 5, column = 0, columnspan = 4)
def parse(self, event):
filename = self.entry.get()
message = open_txt(filename)
self.words.set(message)
def start(self):
self.root.mainloop()
Application().start()
答案 0 :(得分:1)
要更改标签文字,请使用以下方法之一:
self.words.config(text=message)
self.words.configure(text=message)
self.words['text'] = message
答案 1 :(得分:1)
http://effbot.org/tkinterbook/label.htm
您可以将Tkinter变量与标签相关联。当变量的内容发生变化时,标签会自动更新:
v = StringVar()
Label(master, textvariable=v).pack()
v.set("New Text!")
所以,这应该很容易实现。