zoukankan      html  css  js  c++  java
  • 多线程/多进程+QProgressBar实现进度条

     

    多线程+QProgressBar实现进度条:

     1 import threading
     2 
     3 from PyQt5.Qt import * #刚开始学习可以这样一下导入
     4 import sys,time
     5 
     6 rate = 0
     7 class MyProcessBar(QProgressBar):
     8     def __init__(self):
     9         super().__init__()
    10         self.setWindowTitle("test的学习")
    11         self.resize(300,30)
    12         self.set_ui()
    13 
    14     def set_ui(self):
    15         timer = QTimer(self)
    16         timer.start(100)
    17         timer.timeout.connect(self.timer_timeout_slot)
    18 
    19     def timer_timeout_slot(self):
    20         self.setValue(rate+1)
    21 
    22 def create_ui_show():
    23     app =QApplication(sys.argv)
    24     processBar = MyProcessBar()
    25     processBar.show()
    26     sys.exit(app.exec_())
    27 
    28 if __name__ == '__main__':
    29     thread1 = threading.Thread(target=create_ui_show)
    30     thread1.start()
    31 
    32     for i in range(100):
    33         time.sleep(0.05)
    34         rate = i
    35     if i == 99:
    36         print("下载完成")
    View Code

    多进程+QProgressBar实现进度条:

     1 import multiprocessing
     2 
     3 from PyQt5.Qt import * #刚开始学习可以这样一下导入
     4 import sys,time
     5 
     6 def create_ui_show(rate):
     7     app  = QApplication(sys.argv)
     8     progressBar = QProgressBar()
     9 
    10     timer = QTimer()
    11     def test():
    12         progressBar.setValue(rate.value+1)
    13         if rate.value == 99:
    14             sys.exit(0)
    15     timer.timeout.connect(test)
    16     timer.start(100)
    17 
    18     progressBar.show()
    19     sys.exit(app.exec_())
    20 
    21 if __name__ == '__main__':
    22     rate = multiprocessing.Value("d",0)  #初始的rate.value = 0
    23 
    24     process1 = multiprocessing.Process(target=create_ui_show,args=(rate,))
    25     process1.start()
    26 
    27     for i in range(100):
    28         time.sleep(0.1)
    29         rate.value = i
    View Code
  • 相关阅读:
    延迟任务
    xxl-job 执行器调度
    Linux查看日志定位问题
    docker 远程连接
    sqlserver的备份和恢复 命令非计划任务
    创建带包含列的索引 sqlserver
    exec sp_executesql (sqlsugar使用中的坑)的坑。执行sql非常慢
    vue elementui的表单设计器
    将docker容器的配置导出为docker-compose.yml
    异步通信,rpc通信的笔记
  • 原文地址:https://www.cnblogs.com/zach0812/p/11426719.html
Copyright © 2011-2022 走看看