Python对我来说非常坎坷,因为上次创建GUI客户端时,客户端似乎在生成进程,调用shell脚本和调用外部应用程序时挂起。
从那时起,这就是我的主要问题,现在我正处于一个新项目中,有人可以给我指点,并提出一些建议,以便我的GUI python应用程序在产生另一个进程时仍然是交互式的?
答案 0 :(得分:4)
最简单(抽象意义上不一定是“最佳”):在单独的线程中生成子进程,通过Queue.Queue实例将结果传回主线程 - 主线程必须定期检查该队列以查看是否结果已经到了,但是在任何事件循环中都不难安排定期轮询。
答案 1 :(得分:2)
如果您生成一个进程并完全等待它,您的主GUI线程将冻结。通常,您可以简单地使用子流程并立即轮询它以完成而不是wait
来完成它。这将使您的GUI不会冻结。