【发布时间】:2011-02-04 01:42:11
【问题描述】:
我正在测试一个使用 PyQt 构建的 gui,我希望能够使用在 PyQt 事件循环开始后执行的 python 代码与 gui 交互 (app.exec_())。另一种说法是我想要调用到app.exec_ 立即返回,就好像 gui 是无模式的一样,然后是与 gui 交互的更多 python 代码。
我找到了this 在线程中运行 PyQt 循环的示例,但不想做一些非常规的事情。在调用exec_ 之后,有什么方法可以让 PyQt 消息循环继续处理消息,同时在主线程中执行 python 代码?
【问题讨论】:
-
您能解释一下在第二个线程中运行 PyQt 循环或您自己的附加代码的问题吗?您如何没有两个线程同时执行两个代码路径?
-
我可以在第二个线程中安排测试,但有些测试涉及逻辑并且不仅仅是单个函数或对象。有没有办法将一段 python 代码传递给 QThread 并让 QThread 作为运行的一部分执行该代码?
-
看来我不能在 QThread 中使用 execfile。
标签: python multithreading events loops pyqt