TKinter自动更新urllib的标签
问题描述:
我正在尝试使用自动更新来自url的标签。 我想做类似寻呼机的东西。当服务器上的文件被改变时,标签也应该改变。用按钮我可以手动下载,但我想自动化它。我在哪里犯错?TKinter自动更新urllib的标签
from tkinter import *
import urllib.request
import time
root = Tk()
check = ""
#functions
def auto():
time.sleep(5) #becouse I don't want kill server
page = "http://howan.pl/pychal/plik.txt"
g = urllib.request.urlopen(page)
data = g.read()
g.close()
return (str(data, encoding='utf-8'))
def click():
page = "http://howan.pl/pychal/plik.txt"
g = urllib.request.urlopen(page)
data = g.read()
g.close()
label.config(text=str(data, encoding='utf-8'))
#Widgets
label = Label(root, text="zer0")
button = Button(root, text="hey", command= click)
if auto() == check:
check = auto
label.config(text=check)
print(auto())
label.pack()
button.pack()
root.mainloop()
答
要自动化它,你需要做的是做的工作的功能,然后用root.after()
调用定期该功能。既然您已经完成了“点击”的所有工作,您可以只添加:
def auto_click():
click()
root.after(5000, auto_click) # call this function again in 5,000 ms (5 seconds)
auto_click() # start the autoclick loop.