进度条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_())

原文地址:https://www.cnblogs.com/liming19680104/p/10359970.html

时间: 2024-10-16 20:42:38

进度条QProgressBar的相关文章

QT进度条QProgressBar的练习

progressbar.h #ifndef PROGRESSBAR_H #define PROGRESSBAR_H #include <QProgressBar> class QString; class ProgressBar: public QProgressBar { Q_OBJECT public: ProgressBar(QWidget *parent = 0):QProgressBar(parent){} QString strText; public slots: void st

【PyQt5-Qt Designer】QProgressBar() 进度条

QProgressBar() 进度条 QProgressBar简介 QProgressBar小部件提供了一个水平或垂直的进度条. 进度条用于向用户指示操作的进度,并向他们保证应用程序仍在运行. 进度条使用steps的概念.您可以通过指定最小和最大可能的step值来设置它,并且当您稍后将当前step值赋给它时,它将显示已经完成的step的百分比.百分比是通过将进度 (value() - minimum()) / (maximum() - minimum())来计算的. 您可以使用setMinimu

QT中可以用QProgressBar或着QProgressDialog来实现进度条

QProgressBar的使用 首先在designer中拖一个按钮和进度条部件,按下面初始化 //补充:下面两句写在MainWindow的构造函数里进行初始化 ui->progressBar->setRange(0,50000-1);  ui->progressBar->setValue(0); 按钮的事件处理: void MainWindow::on_pushButton_clicked() {   for(int i=0;i<50000;i++) { for(int j=

QT进度条

在QT中可以用QProgressBar或着QProgressDialog来实现进度条. QProgressBar的使用 首先在designer中拖一个按钮和进度条部件,按下面初始化 ui->progressBar->setRange(0,50000-1); ui->progressBar->setValue(0); 按钮的事件处理: voidMainWindow::on_pushButton_clicked() { for(inti=0;i<50000;i++) { for(

【Qt5开发及实例】10、关于进度条的显示

平常我们下载东西总会有一个显示下载了多少的进度条,我们今天来实现一下. 这里有两种显示方式 可以选择,第一个是用了 QProgressBar控件,第二个是用了QProgressDialog控件 progressdlg.h /** * 书本:[Qt5开发及实例] * 功能:为了实现进度条的显示 * 文件:progressdlg.h * 时间:2015年1月2日15:27:10 * 作者:cutter_point */ #ifndef PROGRESSDLG_H #define PROGRESSDL

进度条的使用

Qt 提供了两种显示进度条的方式,一种是 QProgressBar,另一种是 QProgressDialog,QProgressBar 类提供了种横向或纵向显示进度条的控件表示方式,用来描述任务的完成情况. QProgressDialog 类提供了一种针对慢速过程的进度对话框表示方式, 用于描述任务完成的进度情况.标准的进度条对话框包括一个进度显示条,一个取消按钮以及一个标签. QProgressBar 有几个重要的属性值,minimum,maximum 决定进度条提示的最小值和最大值,form

QT中进度条的使用

在QT中可以用QProgressBar或着QProgressDialog来实现进度条. QProgressBar的使用 首先在designer中拖一个按钮和进度条部件,按下面初始化 //补充:下面两句写在MainWindow的构造函数里进行初始化 ui->progressBar->setRange(0,50000-1);  ui->progressBar->setValue(0); 按钮的事件处理: void MainWindow::on_pushButton_clicked()

27.QT-QProgressBar动态实现多彩进度条(详解)

如下图所示: 效果如下: (gif录制的动画效果不好,所以颜色有间隙) 介绍 通过qss实现,只需要一个多彩背景图,通过QImage获取颜色,然后来设置进度条,便可以实现动态多彩进度条(根据图片设定颜色) 其中,上面3个进度条就是通过以下3个图片实现的: 如果想实现其它颜色,只需要改图片即可 代码如下 ProgressBar.h: #ifndef PROGRESSBAR_H #define PROGRESSBAR_H #include <QtGui> class ProgressBar : p

python中pyqt5的进度条--python实战(十)

python太博大精深了,使用场景非常多.最近笔者一直使用PyQt5编一些小程序,顺便就把一些常用的东西列出来,做个记录和积累吧.进度条是非常常用的东西,今天用的时候,顺便温习了一下,这个东西自己感觉没啥可讲的,最好的办法就是例子来说明:下面给一个简单的例子. 基本进度条使用: 进度条的函数如下: self.pbar = QProgressBar(self) //进度条的定义 self.pbar.setGeometry(30, 60, 100, 30) //进度条的大小和位置,前两个是位置,后两