QprogressBar怎么显示读取文件进度

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QprogressBar怎么显示读取文件进度相关的知识,希望对你有一定的参考价值。

参考技术A 编程软件是Qt4.5.2吧如题,希望是自己会的,然后告诉我该怎么做,因为baidu和google上的关于QProgressBar的网页我几乎都浏览过了,没啥收获~我想要的是这样的结果:进度条的range是0~100然后当value在0~40的时候,进度条显示红色0~80的时候,进

进度条QProgressBar

技术图片

 

 

 1 import sys
 2 from PyQt5.QtCore import Qt, QTimer
 3 from PyQt5.QtWidgets import QApplication, QWidget, QProgressBar, QPushButton, QHBoxLayout, QVBoxLayout
 4 
 5 
 6 class Demo(QWidget):
 7     def __init__(self):
 8         super(Demo, self).__init__()
 9         self.progressbar = QProgressBar(self)  #实例化进度条
10         #self.progressbar.setOrientation(Qt.Vertical)  #设置进度条为垂直方向,默认是水平的
11         self.progressbar.setMinimum(0)  # 设置进度条的最小值
12         self.progressbar.setMaximum(100)  #设置进度条的最大值
13         # self.progressbar.setRange(0, 100)  #设置进度条的范围
14 
15         self.step = 0
16 
17         self.timer = QTimer(self)
18         self.timer.timeout.connect(self.update_func)
19 
20         self.ss_button = QPushButton(Start, self)  
21         self.ss_button.clicked.connect(self.start_stop_func)
22         self.reset_button = QPushButton(Reset, self)
23         self.reset_button.clicked.connect(self.reset_func)
24 
25         self.h_layout = QHBoxLayout()
26         self.v_layout = QVBoxLayout()
27 
28         self.h_layout.addWidget(self.ss_button)
29         self.h_layout.addWidget(self.reset_button)
30         self.v_layout.addWidget(self.progressbar)
31         self.v_layout.addLayout(self.h_layout)
32 
33         self.setLayout(self.v_layout)
34 
35     def start_stop_func(self):
36         if self.ss_button.text() == Start:
37             self.ss_button.setText(Stop)
38             self.timer.start(100)
39         else:
40             self.ss_button.setText(Start)
41             self.timer.stop()
42 
43     def update_func(self):
44         self.step += 1
45         self.progressbar.setValue(self.step)  #设置进度条的值
46 
47         if self.step >= 100:
48             self.ss_button.setText(Start)
49             self.timer.stop()
50             self.step = 0
51 
52     def reset_func(self):
53         self.progressbar.reset()  #重置进度条
54         self.ss_button.setText(Start)
55         self.timer.stop()
56         self.step = 0
57 
58 
59 if __name__ == __main__:
60     app = QApplication(sys.argv)
61     demo = Demo()
62     demo.show()
63     sys.exit(app.exec_())

 

以上是关于QprogressBar怎么显示读取文件进度的主要内容,如果未能解决你的问题,请参考以下文章

在 QProgressBar 中显示进度

QT5-控件-QProgressBar-进度条-用来做下载进度,文件读取进度还不错

针对类实现 QProgressBar

QT软件开发之基础控件--2.5.2 QProgressBar进度条

QT:QProgressBar 显示文字

Qt入门系列开发教程基础控件篇QProgressBar进度条