2

Python 对我来说真的很坎坷,因为我上次创建 GUI 客户端时,客户端在生成进程、调用 shell 脚本和调用外部应用程序时似乎挂起。

从那时起,这一直是我使用 Python 的主要问题,现在我在一个新项目中,有人可以给我指点和一些建议,以便我的 GUI python 应用程序在生成另一个进程时仍然是交互式的吗?

4

2 回答 2

4

最简单(在抽象意义上不一定是“最佳”):在单独的线程中生成子进程,通过 Queue.Queue 实例将结果传回主线程——主线程必须定期检查该队列以查看结果是否有到了,但是在任何事件循环中安排定期轮询并不难。

于 2010-01-09T06:54:58.033 回答
2

如果您生成一个进程并等待它完全完成,您的主 GUI 线程将冻结。通常,您可以简单地使用 subprocess 并不时轮询它以完成,而不是waiting 完成。这将防止您的 GUI 冻结。

于 2010-01-09T07:00:39.713 回答