Есть ли альтернатива многопоточности в Tkinter? или есть способ запустить фоновый таймер без многопоточности? - PullRequest
0 голосов
/ 26 января 2020

Я новичок в Tkinter, и я понимаю, что мы не можем использовать threading с Tkinter. Поэтому мне было интересно, есть ли альтернатива threading или есть простой способ запустить таймер фона?
По сути, я хочу заменить элементы моего root на другие элементы через определенное время, не останавливая выполнение программы.
Это то, что я пробовал, прежде чем понял, что threading не вариант в Tkinter:

def checkGridElements():
    time.sleep(5)
    label1.grid_forget()
    label2.grid(row=0,column=0,sticky=E,padx=5,pady=5);passEntry.grid(row=0,column=1,sticky=W,padx=5,pady=5)
    return

t = threading.Thread(target=checkGridElements)
t.start()

1 Ответ

0 голосов
/ 26 января 2020

root (все виджеты) имеет метод after, который позволяет вызывать функцию через определенное время, приостанавливая tk l oop. Если вы пытаетесь использовать поток, вы можете попробовать tkthread (https://pypi.org/project/tkthread/). Проблема в том, что python и tcl / tk имеют разные системы потоков. Предполагается, что tkthread соединит это.

...