恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

PySide6+Qt Design Studio可视化开发(五):多线程

  • 首页
  • 资讯中心
  • /
  • PySide6+Qt Design Studio可视化开发(五):多线程

相关资讯

工业工厂多地数据采集与远程控制:高可靠低延迟组网方案全解析 2026/9/29 4:33:43
AI Infra知识点 2026/9/29 4:33:43
Unity URP/HDRP/UE4全局光照对比:PBR渲染差异与选型指南 2026/9/29 4:33:43

最新资讯

AI智能体实战开发:从框架选型到记忆与安全避坑指南
ORCAD到PADS的ECO同步:原理图与PCB一致性工程实践
基于MTCNN与FaceNet的人脸识别签到系统:从选型到部署的工程实践
uni-app微信小程序登录:openid、unionid与业务token
华为手机备份全链路实战:ADB+私有协议破加密
Django线上教育平台大数据分析:从系统开发到业务洞察的毕设实战指南

今日推荐

开源模型端侧落地实战:量化、推理加速与Agent上下文管理
AI Evals实战指南:从零搭建LLM应用评估体系与CI/CD集成
Java采购管理系统实战:从数据库设计到事务一致性

本周热门

从像素到笔画:srt-whiteboard-animation骨架笔迹追踪实现(Zhang-Suen细化+8邻接追踪)
网站建设的英语怎么说?别只背单词,看完这套安全完整流程才敢上线
新手入门看这篇:建设网站加盟避坑指南与SEO实操

本月精选

自研推理加速器Redwood:两周内实现PyTorch模型高效部署的实战教程
V4L2摄像头采集实战:从camera_client.rar到出图全流程解析
从“谁发明了钢琴键”到知识问答智能体:RAG与记忆工程实践

PySide6+Qt Design Studio可视化开发(五):多线程

发布时间:2026/9/29 4:33:43
PySide6+Qt Design Studio可视化开发(五):多线程 在PySide6中使用QThread将耗时任务移出主线程避免界面在任务执行期间卡死下面使用定时任务模拟后台耗时操作的运行情况。一、修改Backend.py增加子线程触发后将延迟3秒通知前端任务完成fromPySide6.QtCoreimportQObject,Slot,Signal,QTimer,Property,QThreadimporttime#新增Worker类在子线程干活classWorker(QObject):finishedSignal()Slot()defdo_work(self):#模拟耗时操作每次需要3秒完成time.sleep(3)self.finished.emit()classBackend(QObject):dataUpdatedSignal(int)#通知Worker开工taskRequestedSignal()#通知前端任务完成taskDoneSignal()def__init__(self):super().__init__()self._rootNoneself._count0self.num_map{0:零,1:一,2:二,3:三,4:四,5:五,6:六,7:七,8:八,9:九}self._timerQTimer(self)self._timer.setInterval(1000)self._timer.timeout.connect(self._tick)self._timer.start()#实例化子线程控制器self._threadQThread(self)#实例化Worker对象self._workerWorker()#将worker移到子线程self._worker.moveToThread(self._thread)#将Signal与函数连接#连接开始信号self.taskRequested.connect(self._worker.do_work)#连接结束信号self._worker.finished.connect(self._on_finished)#启动线程等待开始信号self._thread.start()Slot()defstart_task(self):self.taskRequested.emit()def_on_finished(self):self.taskDone.emit()defshutdown(self):self._thread.quit()#等待线程结束self._thread.wait(5000)二、修改前端界面绑定线程触发到按钮上接收到任务完成后播放一次变色动画Row{id: row x: 860 y: 413 width: 400 height: 400 anchors.horizontalCenter: parent.horizontalCenter#subButton不变Button{id: button objectName:subButtontext: qsTr(SUB)anchors.verticalCenter: parent.verticalCenter checkable: true Connections{target: button onClicked:{slider.value--animation.start()backend.sub_button_pressed(sub button pressed)}}}Slider{id: slider value: 0 anchors.verticalCenter: parent.verticalCenterfrom: 0 to: 9 stepSize: 1 Connections{target: backendfunctiononDataUpdated(msg){slider.value msg}#收到子线程结束信号画面闪烁一次functiononTaskDone(){animation1.start()}}}Button{id: button1 objectName:addButtontext: qsTr(ADD)anchors.verticalCenter: parent.verticalCenter checkable: true Connections{target: button1 onClicked:{slider.increase()animation1.start()backend.add_button_pressed()#点击后启动子线程backend.start_task()}}}}三、配置main.py主动关闭子线程exapp.exec()#主动关闭线程backend.shutdown()delengine四、运行结果

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号