文本不会出现Tkinter的GUI

问题描述:

这是我的代码:文本不会出现Tkinter的GUI

from tkinter import * 
import time 

count = 0 
while count >= 0 : 
    print(count) 
    time.sleep(1) 
    count = count + 1 


root= Tk() 


label1= Label(root, text='Gegevens', bg='lightblue') 
label2= Label(root, text='Voortgang') 
labelfiets_prestatie= Label (root, text='Fiets_Prestatie',) 
labelStappen= Label(root, text='Meter', command= count, bg='red') 


label1.pack(fill= X) 
label2.pack() 
labelfiets_prestatie.pack() 
labelStappen.pack() 


root.mainloop() 

现在我的问题是,每当我删除出现在GUI中的计数代码,但我想这是产生在被观察到的数字GUI。它出了什么问题?

+1

不要在'tkinter'中使用'.sleep()'。 – Lafexlos

我认为你应该使用after方法。

该方法注册一个回调函数,该回调函数将在 给定毫秒数后调用。 Tkinter保证回调 不会比此前调用。

class App: 
    def __init__(self, master): 
     self.master = master 
     self.poll() # start polling 

    def poll(self): 
     # do something 
     self.master.after(100, self.poll) 

您可以检查出Tkinter after method。而如果你想更新标签,你可以使用update_idletasks

from tkinter import * 
from time import sleep 
root = Tk() 
var = StringVar() 
l = Label(root, textvariable = var) 
l.pack() 

count=10 
while count>=0: 
    sleep(1) 
    var.set(count) 
    count=count-1 
    root.update_idletasks() 

希望这有助于。

+0

还有一个如何使用它在文档化中创建简单计时器的示例http://*.com/documentation/tkinter/6724/delaying-a-function#t=201701301400175181844。 –