相关推荐
您可能对下面课程感兴趣
Python上位机开发教程

105小节已有19662人学过

Python上位机开发多线程二
发布时间:2024-11-20 10:02 [ 我要自学网原创 ] 发布人: 快乐小女 阅读: 746

import time
from PySide6.QtWidgets import *
from PySide6.QtCore import *
from PySide6.QtGui import *
from page import Ui_Form
import threading


def task(ui):
    a=0
    while ui.isrunning:

        if ui.pausing:
            time.sleep(0.02)
            continue


        ui.data_signal.emit(a)
        time.sleep(0.2)
        a+=1
        if a>100:
            break

    ui.isrunning = True


class Window(QWidget, Ui_Form):
    data_signal = Signal(int)
    def __init__(self):
        super().__init__()
        self.setupUi(self)

        self.t:threading.Thread = None
        self.data_signal.connect(self.change_value)
        self.isrunning = True
        self.pausing = False

    def onBtnStartClick(self):
        if self.t is not None and self.t.is_alive():return
        self.t = threading.Thread(target=task,args=(self,),daemon=True)
        self.t.start()


    def onBtnStopClick(self):
        self.isrunning = False


    def onBtnPauseClick(self):
        self.pausing =True


    def onBtnResumeClick(self):
        self.pausing = False

    def change_value(self,val:int):
        self.progressBar.setValue(val)


if __name__ == '__main__':
    import sys

    app = QApplication(sys.argv)
    win = Window()
    win.show()
    sys.exit(app.exec())

Python上位机开发教程
我要自学网商城 ¥80 元
进入购买
文章评论
0 条评论 按热度排序 按时间排序 /350
遵守中华人民共和国的各项道德法规,
承担因您的行为而导致的法律责任,
本站有权保留或删除有争议评论。
参与本评论即表明您已经阅读并接受
上述条款。
V
特惠充值
联系客服
APP下载
官方微信
返回顶部
相关推荐
您可能对下面课程感兴趣
Python上位机开发教程

105小节已有19662人学过

分类选择:
电脑办公 平面设计 室内设计 室外设计 机械设计 工业自动化 影视动画 程序开发 网页设计 会计课程 兴趣成长 AIGC