【PYQT5】创建线程,防止执行函数卡死界面

# 线程函数
class WorkerThread(QThread):
    resultReady = pyqtSignal(object)
    def __init__(self, func, *args, **kwargs):
        super().__init__()
        self.func = func
        self.args = args
        self.kwargs = kwargs
    def run(self):
        self.result = self.func(*self.args, **self.kwargs)
        self.resultReady.emit(self.result)
    # 返回执行的结果
    def get_result(self):
        return self.result


# 主函数
class Main(QWidget, Ui_Form):

    def __init__(self):
        super(Main, self).__init__()
        self.setupUi(self)
        
        # 点击事件:重新连接
        self.pushButton_2.clicked.connect(lambda: self.runCheck())

   # 被点击后   使用线程执行函数
    def runCheck(self):
        self.thread = WorkerThread(self.check)  # 逻辑函数
        self.thread.start()
        
    # 逻辑函数
    def check(self):
        pass
posted @ 2023-08-13 14:17  PythonNew_Mr.Wang  Views(160)  Comments(0)    收藏  举报