2016-12-21 13 views
0

最近Python(2.7)Tkinterの使い方を学び始めました。ラベルウィジェットを見つけました。 。私は(新しいテキストを書きますが、以前のテキストを置き換えるこれは私が試したものですないというウィジェットが表示されているものに変更することができるようにしたい:Python 2.7でループするTkinterでラベルを変更する

number=0 
from Tkinter import * 
root = Tk() 
var = StringVar() 
number=number+1 
label = Label(root, textvariable=var, relief=RAISED) 
var.set(str(number)) 
label.pack() 
root.mainloop() 

私はそれを実行すると、それだけで「1」が表示されます。私はそれが数字をループしていないことを理解していますが、コードを繰り返しループしていないのですか?このコードを動作させるにはどうすればよいでしょうか?

答えて

2

root.mainloop()は、tkinter独自のイベントハンドラです。ユーザーコードブロックではなくウィジェットからのイベントを待って処理します。独自のコードブロックを定期的に実行するには、を使用します。:

from Tkinter import * 

root = Tk() 
var = StringVar() 
Label(root, textvariable=var, relief=RAISED).pack() 

def update_number(value): 
    var.set(value) 
    root.after(1000, update_number, value+1) # run again 1 second later 

update_number(0) # initiate the update process 
root.mainloop() 
関連する問題