【问题标题】:Interactive Python GUIInteractive Python GUI
【发布时间】:2011-01-03 04:59:15
【问题描述】:

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

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

【问题讨论】:

  • 值得一提的是,在计算过程中保持交互式 GUI 是每一种编程语言都需要解决方案的事情,并且不是特定于 Python 的。通常,您需要研究某种并行编程来防止 GUI 线程被阻塞。 (适用于任何语言。)

标签: python user-interface pygtk interactive spawn


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2017-05-07
      • 1970-01-01
      • 2012-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多