PyQt5基础学习-两个线程进行信号交互
步骤: 在主线程中实例化并且启动子线程,然后由子线程通过信号发送器向主线程发送信号
ThreadUpdateUI.py
""" 多线程更新UI数据(在两个线程中传递函数) """ from PyQt5.QtCore import QThread, pyqtSignal, QDateTime from PyQt5.QtWidgets import QApplication, QDialog, QLineEdit import time import sys class BackendThread(QThread): update_date = pyqtSignal(str) #在子线程start以后, 自动调用 #主要功能是发送当前的时间 def run(self): while True: data = QDateTime.currentDateTime() currentTime = data.toString("yyyy-MM-dd hh:mm:ss") self.update_date.emit(str(currentTime)) time.sleep(1) class ThreadUpdate(QDialog): def __init__(self): super(ThreadUpdate, self).__init__() self.setWindowTitle("多线程更新UI数据") self.resize(400, 100) self.input = QLineEdit(self) self.input.resize(400, 100) self.initUI() def initUI(self): #构造子线程 self.backbend = BackendThread() #在主线程定义, 子线程的信号槽函数 self.backbend.update_date.connect(self.handleDisplay) #start以后会调用run函数 self.backbend.start() def handleDisplay(self, data): self.input.setText(data) if __name__ == "__main__": app = QApplication(sys.argv) main = ThreadUpdate() main.show() sys.exit(app.exec_())
每天更新pyQt5内容
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具