作者a9202507 (先认真的就输了。)
看板Python
标题[问题] PyQT GUI的问题
时间Thu Jan 23 00:13:30 2020
PyQT5 基本功能大致上会用,但目前有一个不解的地方,想请问大家。
程式的流程如下:
1.在GUI 输出"Running" 字样
2.call sub functon. 这个会花三到五分钟的时间。
3.在GUI 输出"finish" 字样
但很奇怪的是,1就不会输出,只会看到3的结果。
code 节录如下:
def pushbutton(self):
self.textBrowser.setText("running") #1
subfunction() #2
self.textBrowser.setText("finish") #3
我那边理解有错吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.160.117.94 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1579709612.A.077.html
1F:推 brt: main thread 被 subfunction 带走 没来得及更新画面 然後结束01/23 00:55
2F:→ brt: 你不能在 event loop 里面进行计算 这会 block event loop01/23 00:56
大概懂你的意思。
但我想要执行subfuncation的时候,秀running.有建议的做法吗?
感谢您的回应。
※ 编辑: a9202507 (118.160.117.94 台湾), 01/23/2020 11:56:09
3F:推 brt: 另外发起一个 Thread 然後利用 Qt Signal/Slot 机制触发01/23 13:18
感谢。昨天用thread功能後,问题解了。
※ 编辑: a9202507 (180.217.149.176 台湾), 01/24/2020 11:02:30