2016-12-16 85 views
-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

不使用sleep,必須使用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

順便說一句:也可以用'VAR = IntVar(值= 0)'代替'X = 0'然後'var.set (var.get()+ 1)''沒有'global x' – furas