【问题标题】:Tkinter: cannnot create messagebox in a threadTkinter:无法在线程中创建消息框
【发布时间】:2013-07-03 01:40:57
【问题描述】:

我是 Tkinter 的初学者。 昨天,当我尝试在线程函数中启动一个消息框时,它失败并卡住了。我没有找到任何关于这个问题的有用信息,所以我在这里问:

from tkinter import *
from threading import Thread

def func():
    messagebox.askyesno()

t = Thread(target=func)

Label(text='Hello').pack()

t.start()
mainloop()

没有错误。它只是行不通。我也发现在线程过程中无法创建任何对话框。

感谢任何帮助或有用的信息。

【问题讨论】:

  • 有什么问题?只是不工作还是有一些错误?
  • 只是不起作用。没有错误,窗口卡住了。

标签: python multithreading tkinter messagebox


【解决方案1】:

除了创建它的线程之外,您不能从任何线程调用 tkinter 小部件方法,并且您只能在单个线程中创建小部件。

【讨论】:

猜你喜欢
  • 2022-08-09
  • 1970-01-01
  • 2010-11-06
  • 1970-01-01
  • 2018-05-20
  • 1970-01-01
  • 2017-05-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多