UI线程完成后,使用子线程实现一个延时展示的效果

在PyQT项目中,为解决主线程翻页时未完整显示所有螺丝钉变为绿色的问题,采用子线程在所有螺丝钉变为绿色后延时触发翻页功能。这样确保了界面正确显示后再翻页,避免了视觉上的不连贯。代码实现在子线程中加入延时,防止子线程立即执行翻页,确保了界面更新的稳定性。
摘要由CSDN通过智能技术生成

pyqt项目

主线程有翻页功能,当前页面有5个螺丝钉,每个螺丝钉完成之后其颜色会变成绿色,当所有螺丝钉完成之后会进行翻页。

当最后一个螺丝钉完成之后,螺丝钉会有一个翻页功能,但由于主程序一直在运行,当前展示的页面4绿1黄就一直没有变化,导致直观上感觉是没有完成第5个螺丝,直接跳到了后一页。

使用子线程,延时触发翻页功能。主线程执行完所有程序,界面(5绿)得以展示,而后翻页。

代码如下

# 主线程
class MainWindow(QWidget):
    def __init__(self):
        self.bg_th = backgroundThread()
        self.bg_th.pthread.connect(self.count_next_page)
    ...
    def count_next_page(self, message):
        print('count_next_page:' + message)
        self.next_page()

# 后台子线程,延时触发
class backgroundThread(QThread):
    pthread = pyqtSignal(str)
    def __init__(self):
     
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值