2

完全披露,这是来自 Reddit 的交叉帖子。

代码在这里

我有一个我处理过的脚本,它使用 tkinter 弹出一些框以从用户那里收集一些信息。此信息用于启动外部应用程序,该应用程序完成后会生成我感兴趣的日志文件。或者,我提供了一个按钮,用户可以按下该按钮来手动生成该日志文件。这些(外部应用程序 & 和 GUI 按钮)作为两个单独的线程启动,主程序监视等待两者中的任何一个提供所需的日志。当日志出现并且我有我需要的东西时,我会关闭最近打开的任何东西(这不是一种理想的做事方式,但在这种环境下工作正常)。

我的问题是我可以毫无问题地运行一次,但是如果我尝试循环它,它会到达我的线程中断按钮(这实际上不是tkinter脚本中第一次使用)和块 - 可能因为我第一次不优雅地关闭了 Tk()?

我尝试以多种不同的方式重新排序这些步骤,但没有成功。有没有人有任何指示?

此处发布了演示我的问题的脚本的一个非常简化的版本:http: //pastebin.com/wSFA2DKM Windows 7 64 位,Python 2.7.5 32 位

4

1 回答 1

0

self.master.destroy()每次要关闭窗口时尝试使用。

如果这仍然不起作用,请考虑将所有条目放在一个面板上,并在面板底部有中断按钮,以及提交/其他按钮。总有办法的!

于 2014-04-20T18:20:22.643 回答