2017-06-17 9 views
2

私は消えて表示されたテキストを作成した後、別のテキストとしてポップバックします。 テキストを含む複数のラベルを作成しなくても可能ですか?ここTkinterは時間の経過と共に変化するテキストを作ります

は私の失敗した試行---->

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) 

答えて

1

はい、それは可能と比較的簡単ですしました。あなたのコードを単純化しましたが、比較的同じように保っていました。

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() 
関連する問題