所以我想创建一个出现然后消失然后作为不同文本弹出的文本。 如果不创建多个带有文本的标签,这是否可能?
这是我失败的尝试---->
from tkinter import*
class App():
def __init__(self,master):
self.master=master
dialog=['This is my text thats going to dissapear','farts are fun']
for i in range(len(dialog)):
self.s_var=StringVar()
self.label = Label(self.master,textvariable=self.s_var,font='times')
self.label.place(x=0, y=0)
self.s_var.set(dialog[i])
self.label.after(10000, self.clear_label) # 1000ms
self.master.mainloop()
def clear_label(self):
self.label.place_forget()
root=Tk()
app=App(root)
最佳答案
是的,这是可能的,而且相对简单。我简化了您的代码,但保持相对不变。
import tkinter as tk
class App:
def __init__(self, master):
self.dialog_options = ['This is my text thats going to dissapear', 'farts are fun']
self.label = tk.Label(master, text=self.dialog_options[0])
self.label.pack()
self.label.after(10000, self.change_label_text) # 1000ms
def change_label_text(self):
self.label['text'] = self.dialog_options[1]
if __name__ == '__main__':
root= tk.Tk()
app = App(root)
root.mainloop()
关于python - Tkinter 使文本随时间变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44607435/