python - Tkinter 使文本随时间变化

标签 python class variables tkinter label

所以我想创建一个出现然后消失然后作为不同文本弹出的文本。 如果不创建多个带有文本的标签,这是否可能?

这是我失败的尝试---->

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/

相关文章:

python - 如何本地附加到 python 进程?

python从 bool 列掩码创建数组的子集

python - 为什么带有 numexpr 的 Pandas.eval() 这么慢?

python - 当我使用 dir([user-defined object]) 时,为什么它还会返回对象父类的命名空间中的名称?

javascript - 好奇 : is it possible to have dynamic Ajax data variable names?

variables - 比较 IEEE float 和 double 的相等性

python - 从 QThread.run 调用 cython 函数时,pyqt gui 被锁定

C++ 运算符覆盖

php - PHP-返回多个状态,而不仅仅是true/false

javascript - 将 javascript 变量插入 javascript 函数