gpt4 book ai didi

python - Python Tkinter程序崩溃时忘记了()

转载 作者:行者123 更新时间:2023-12-03 17:44:15 28 4
gpt4 key购买 nike

在我的程序中,我想在按钮上使用forget()。现在,如果我尝试这样做,程序将崩溃。我知道它与线程有关,但是我还没有找到解决之道。提前致谢。这是我的示例代码:

import Tkinter as tk
import thread

window = tk.Tk()

def ok():
pass

def voice():
button1.forget()
print("If you see this, it works!")

thread.start_new_thread(voice,())

button1=tk.Button(command=ok, text="PRESS")
button1.pack()

window.mainloop()

最佳答案

除了创建对象的线程外,您不能从任何线程访问tkinter对象。换句话说,您不能从线程中调用button1.forget()并期望它可靠地工作。

普遍接受的解决方案是让您的线程将信息写入线程安全的队列,并让您​​的GUI线程定期轮询该队列,拉出一个项目,然后执行该项目所要求的一切。

关于python - Python Tkinter程序崩溃时忘记了(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27321126/

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