python pyqt ui卡住的问题

我一个爬虫程序。
shell 下运行 没有中断。一直在爬。效果还不错 因为直接关掉shell 或IDE 就可以结束了

现在我加上了pyqt 界面。 运行时候UI 会一直卡住。导致我没办法把状态信息发送到UI 根本看不到。一直处在无响应的状态  这样太影响用户体验了。

我把爬虫程序 封装在了一个类里。 然后在ui里调用他。

网上找了很多资料 说是用多线程 或多进程。   然后关掉线程。 还有说是要用异步。搞的我晕晕的。

说我要是用多线程 就要在爬虫里 每句话都要加一个判断。我觉得这太扯了。 

请大神给个建议。 能提供一个实例的话 那就十分感谢了!~


守候你守候我
浏览 1028回答 2
2回答

哔哔one

GUI编程都会遇到的问题——多线程操作。因为你将逻辑处理和UI放在了一个线程中,导致UI刷新遇到了阻塞,所以会看到GUI卡死,等你的逻辑代码执行完毕之后才会恢复响应。解决方案就是把你的逻辑代码单独开一个线程去执行,让窗体线程不要被阻塞

HUX布斯

窗口应用程序都是单线程时间机制的,所以不能在其中编写阻塞逻辑,否则会导致界面失去相应。在IO操作频繁的地方,开启新的线程处理逻辑即可。
打开App,查看更多内容
随时随地看视频慕课网APP