Так что я использую модуль потоков (python 3) и tkinter.ttk, чтобы создать простые часы.
это мой код:
from tkinter import *
from tkinter.ttk import *
from threading import Thread
import time
running = True
def tick():
while running:
t = time.localtime()
temp = str(t.tm_hour) + ":" + str(t.tm_min) + ":" + str(t.tm_sec)
clock.config(text=temp)
def exit():
global running
running = False
win.destroy()
tick_thread = Thread(target=tick)
tick_thread.start()
win = Tk()
win.geometry("100x100")
win.resizable(False, False)
win.title("Clock")
clock = Label(win, text="")
clock.pack()
win.protocol("WM_DELETE_WINDOW", exit)
win.mainloop()
но я получаю сообщение об ошибке, указывающее, что часы не определены (tick_thread), потому что "галочка потока" не может получить доступ к виджету метки "часы". Итак, мой вопрос: как я могу поделиться виджетом между потоками? и если я переопределю протокол закрытия окна, все ли закроется правильно? Спасибо.