Обновление текста метки tkinter - PullRequest
0 голосов
/ 16 ноября 2018

Я сделал небольшой скрипт, который берет некоторые значения с веб-страницы и отображает их как метки tkinter.Значения обновляются каждые 5 минут.Как сделать так, чтобы метки обновлялись каждый раз при изменении значений?

url = 'https://myurl.something'
def check():
    sleep(300)
    value1 = str(requests.get(url))

root = Tk()
label1 = label(root, text=value1)
label1.grid()

while True:
    check()
root.mainloop()

Я знаю, что цикл сна не может работать, но я так и делал, прежде чем добавить графический интерфейс

1 Ответ

0 голосов
/ 16 ноября 2018

Вот базовый код для начала работы.Я удалил материал с запросами, так как он на самом деле не имеет отношения к вашей проблеме.

Ключевыми вещами являются

  • StringVar, который позволяет вам обновлять текст.
  • Использование after для смещения вашей периодической задачи от потока графического интерфейса.Нет необходимости в sleep.

код:

from tkinter import Tk, Label, StringVar

def check(val):
    # do your request.get here
    sv.set("dummy text %d" % val)
    root.after(1000, lambda: check(val + 1))

root = Tk()

sv = StringVar()
sv.set("waiting...")
label1 = Label(root, textvariable=sv)
label1.grid()

root.after(1000, lambda: check(1))
root.mainloop()

С учетом этого кода, мы надеемся, что вы сможете вернуть свой http-запрос обратно, и он будет делать то, что вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...