交互式Python图形用户界面

2 投票
2 回答
1246 浏览
提问于 2025-04-15 17:49

我在使用Python的时候遇到了一些麻烦,因为上一次我做图形界面的客户端时,客户端在启动一个新进程、调用一个脚本或者外部应用程序的时候似乎就卡住了。

这一直是我用Python时最大的困扰,现在我在做一个新项目,有没有人能给我一些建议,让我的Python图形界面应用在启动其他进程时还能保持互动?

2 个回答

2

如果你在主界面线程中启动一个新进程并一直等着它完成,界面就会卡住。通常,你可以使用子进程(subprocess),然后不时检查它是否完成,而不是一直等着它结束。这样可以防止你的界面冻结。

4

最简单的方法(不一定是“最好”的方法):在一个单独的线程中启动子进程,然后通过一个叫做Queue.Queue的工具把结果传回主线程。主线程需要定期检查这个队列,看看结果是否已经到达,不过定期检查其实在任何事件循环中都很容易安排。

撰写回答