我有一个使用TKinter GUI的程序。我正在尝试在使用winsound播放声音的同时显示GUI框。它可以工作,但在盒子冻结后它会崩溃。没有错误报告。我在Windows 7机器上使用Python 3.3进行编程!请帮忙!这是盒子和声音的代码:
t1 = threading.Thread(target=winsound.PlaySound, args=("C:/Interactive Program/LIP Source Files/skyisup.wav", 2))
t2 = threading.Thread(target=lipgui.msgbox, args = ("The sky is up.",))
t2.start()
t1.start()
答案 0 :(得分:1)
如果您在线程中运行GUI代码,那可能就是问题所在。 Tkinter被设计为在单个线程中运行,最好是主线程。如果您访问任何tkinter代码或与多个线程中的任何窗口小部件进行交互,它将崩溃。你将lipgui.msgbox
置于一个帖子中这一事实让我觉得这就是发生的事情。
答案 1 :(得分:0)
我想我可能知道你在谈论什么....尝试在你认为使程序冻结的代码行之前添加类似的东西......
root.update()
“root”是主tkinter窗口的名称! 我从未使用过您所说的声音模块,但我认为应该这样做!