交互式 Python 图形用户界面

发布于 2024-08-16 23:39:34 字数 172 浏览 6 评论 0原文

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

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

Python have been really bumpy for me, because the last time I created a GUI client, the client seems to hang when spawning a process, calling a shell script, and calling outside application.

This have been my major problem with Python since then, and now I'm in a new project, can someone give me pointers, and a word of advice in order for my GUI python application to still be interactive when spawning another process?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

所有深爱都是秘密 2024-08-23 23:39:34

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

Simplest (not necessarily "best" in an abstract sense): spawn the subprocess in a separate thread, communicating results back to the main thread via a Queue.Queue instance -- the main thread must periodically check that queue to see if the results have arrived yet, but periodic polling isn't hard to arrange in any event loop.

浅黛梨妆こ 2024-08-23 23:39:34

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

Your main GUI thread will freeze if you spawn off a process and wait for it to completely. Often, you can simply use subprocess and poll it now and then for completion rather than waiting for it to finish. This will keep your GUI from freezing.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文