gpt4 book ai didi

python - Tkinter 和多线程

转载 作者:行者123 更新时间:2023-12-01 05:49:07 25 4
gpt4 key购买 nike

我使用以下代码来检查 Tkinter 是否与多线程一起工作。但是下面的代码不起作用(Gui一运行就没有响应)。谁能解释一下为什么它不起作用?

from threading import Thread 
import tkinter as tk

window = tk.Tk()
label = tk.Label(window, text='Hello')
label.pack()

def func():
i = 1
while True:
label['text'] = str(i)
i += 1

Thread(target=func).start()
Thread(target=window.mainloop).start()

最佳答案

它不起作用,因为 Tkinter 不支持多线程。与 Tkinter 小部件交互的所有内容都需要在主线程中运行。如果要使用多线程,请将 GUI 放在主线程中,将其他代码放在工作线程中,并使用线程安全队列在它们之间进行通信。

关于python - Tkinter 和多线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15057341/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com