【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 @   PythonNew_Mr.Wang  Views(131)  Comments(0Edit  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示