为了账号安全,请及时绑定邮箱和手机立即绑定

python pyqt ui卡住的问题

python pyqt ui卡住的问题

守候你守候我 2018-07-17 14:05:46
我一个爬虫程序。shell 下运行 没有中断。一直在爬。效果还不错 因为直接关掉shell 或IDE 就可以结束了现在我加上了pyqt 界面。 运行时候UI 会一直卡住。导致我没办法把状态信息发送到UI 根本看不到。一直处在无响应的状态  这样太影响用户体验了。我把爬虫程序 封装在了一个类里。 然后在ui里调用他。网上找了很多资料 说是用多线程 或多进程。   然后关掉线程。 还有说是要用异步。搞的我晕晕的。说我要是用多线程 就要在爬虫里 每句话都要加一个判断。我觉得这太扯了。 请大神给个建议。 能提供一个实例的话 那就十分感谢了!~
查看完整描述

2 回答

?
哔哔one

TA贡献1854条经验 获得超8个赞

GUI编程都会遇到的问题——多线程操作。因为你将逻辑处理和UI放在了一个线程中,导致UI刷新遇到了阻塞,所以会看到GUI卡死,等你的逻辑代码执行完毕之后才会恢复响应。

解决方案就是把你的逻辑代码单独开一个线程去执行,让窗体线程不要被阻塞


查看完整回答
反对 回复 2018-07-18
?
HUX布斯

TA贡献1876条经验 获得超6个赞

窗口应用程序都是单线程时间机制的,所以不能在其中编写阻塞逻辑,否则会导致界面失去相应。

在IO操作频繁的地方,开启新的线程处理逻辑即可。


查看完整回答
反对 回复 2018-07-18
  • 2 回答
  • 0 关注
  • 1027 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号