pyqt5 多线程

发布于 2021-11-26 21:04:37 字数 2108 浏览 711 评论 1

每次运行完 dowork   里面 creat 或者print 之后UI就会卡死。 不知道是什么问题。

还有就是点击开始后马上点停止 也会卡死UI。 点了开始等一会 在点停止就没事了。 而且一直都没事。 只存在第一次运行程序。 

求大神解答  代码贴出来了!~

from PyQt5 import QtWidgets, QtCore
from PyQt5.QtCore import QThread
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from ui import Ui_Form
import sys, os
import jihuo_main
import twitter
from threading import Thread
import time


class myUIshow(QtWidgets.QWidget,Ui_Form):
    s1 = QtCore.pyqtSignal()
    s2 = QtCore.pyqtSignal()
    def __init__(self):
        super(myUIshow,self).__init__()
        self.setupUi(self)
        self.w=Worker(self)
        self.th=QThread()
        self.w.moveToThread(self.th)
        self.s1.connect(self.w.doWork)
        self.s2.connect(self.th.terminate)         
        self.pushButton.clicked.connect(self.begin)
        self.count = 1
        
    def stop(self):
        
        self.s2.emit()    
        
    def begin(self):
        
        if self.count:
            
            self.th.start()     
            
            self.pushButton.setText(QtCore.QCoreApplication.translate("Form", "停止"))
            self.count = 0
            self.s1.emit()
        else:
            
            self.stop()
            
            self.pushButton.setText(QtCore.QCoreApplication.translate("Form", "开始"))
            self.label_6.setText('等待开始')
            self.count = 1
            
    def mybox(self):
        QMessageBox.information(self,'错误提示','info',QMessageBox.StandardButtons(QMessageBox.Yes | QMessageBox.No))
        
 
class Worker(QObject):
    #QThread workerThread;
    def __init__(self,myUIshow):
        self.ui=myUIshow
        self.t = twitter.Twitter(self.ui)
        super(Worker, self).__init__()

    @QtCore.pyqtSlot()
    def doWork(self):
        self.t.creat()
        #print('aa')
        

if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    myshow = myUIshow()
    myshow.show()
    sys.exit(app.exec_())



如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

流心雨 2021-12-01 05:24:16

请问解决了? 如何解决的? 谢谢

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文