不能为每个线程打开一个tk窗口,tkinter

时间:2017-03-22 04:08:55

标签: python multithreading tkinter

我想写一个程序,每次接受一条消息弹出窗口一角的窗口。

我使用网络服务器接受消息。

我的Tk代码是这样的:

import threading
from Tkinter import *
import time

def alert():
  alert = Tk()
  alert.protocol("WM_DELETE_WINDOW", alert.quit)
  alert.mainloop()

def run():
  th = threading.Thread(target=alert)
  th.start()

if __name__ == 'main':
  run()
  time.sleep(5)

  run()
  time.sleep(5)

  run()

 当我运行它时,只弹出一个窗口。当第二个线程变为'alert = Tk()'时,程序似乎挂起,我不确定。

第三个线程从未运行过。

如果我在第二个线程开始之前没有关闭窗口,那么窗口将没有响应。

我想知道我的代码有什么问题以及tkinter是如何工作的。

由于

0 个答案:

没有答案