2016-12-16 10 views
-1

私のコードで助けが必要 数字が常に1つ上に表示されるようにしようとしています。Tkinterを使用したPythonコード

from tkinter import * 
from time import sleep 

root = Tk() 
var = StringVar() 
var.set('hello') 

l = Label(root, textvariable = var) 
l.pack() 

x=0 
num=x 

while(x<10): 
    sleep(2) 
    var.set(str(x)) 
    x=x+1 
    root.update_idletasks() 

答えて

2

ところでafter(period in ms, callback)

from tkinter import * 

def update_number(): 
    global x 
    x += 1 
    var.set(str(x)) 
    root.after(1000, update_number) 

root = Tk() 
var = StringVar() 
x = 0 
var.set('hello') 
l = Label(root, textvariable=var) 
l.pack() 
root.after(1000, update_number) 
root.mainloop() 
+0

を使用する必要があり、sleep使用しない:あなたはまた、 'VAR = IntVar使用することができます(値= 0)'の代わりに 'X = 0 '、次に' var.setの(var.get()+ 1) ''グローバルx'なし – furas

関連する問題