2010-01-09 123 views
2

Python对我来说真的很颠簸,因为上次创建GUI客户端时,客户端似乎在产生进程,调用shell脚本和调用外部应用程序时挂起。交互式Python GUI

从那时起,这就是我的主要问题,现在我在一个新的项目中,有人能给我指针和一个建议的话,以便我的GUI python应用程序在产生另一个时仍然是交互式的处理?

+0

值得一提的是,在计算过程中保持交互式GUI是每种编程语言都需要解决方案的,并且不是Python特定的。通常,您需要查看某种并行编程来防止GUI线程被阻塞。 (对于任何语言都是如此)。 – 2010-01-09 09:08:38

回答

4

最简单(抽象意义上不一定是“最好”):在独立线程中产生子进程,通过Queue.Queue实例将结果传回主线程 - 主线程必须定期检查该队列以查看如果结果已经到来,但在任何事件循环中定期轮询都不难安排。

2

如果您生成一个进程并等待它完全运行,则您的主GUI线程将冻结。通常情况下,您可以简单地使用子进程并立即轮询它,然后完成而不是完成它。这将防止您的GUI冻结。