【问题标题】:TKinter auto updating label from urllib来自 urllib 的 TKinter 自动更新标签
【发布时间】:2017-07-15 18:39:30
【问题描述】:

我正在尝试从 url 自动更新标签。 我想做一些类似寻呼机的东西。当服务器上的文件改变时,标签也应该改变。使用按钮我可以手动下载它,但我想自动化它。我哪里出错了?

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()

【问题讨论】:

    标签: python-3.x tkinter label urllib updating


    【解决方案1】:

    要使其自动化,您需要创建一个可以完成工作的函数,然后使用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.
    

    【讨论】:

      猜你喜欢
      • 2018-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-29
      • 1970-01-01
      • 2021-07-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多