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 stepOne();

};

#endif // PROGRESSBAR_H

progressbar.cpp

#include "progressbar.h"
#include <QString>
void ProgressBar::stepOne()
{
    if(this->value()+1 <= this->maximum())
    {
        this->setValue(this->value()+1);

        strText = "QProgressBar Test : "+this->text();
        this->setWindowTitle(strText);
    }
    else
    {
        this->setValue(this->minimum());
    }
}

main.cpp

#include <QApplication>
#include <QTimer>
#include "progressbar.h"

int main(int argc, char**argv)
{
    QApplication app(argc, argv);

    //progressBar
    ProgressBar *progressBar = new ProgressBar;
    progressBar->setWindowTitle("QProgressBar Test");
    progressBar->resize(400,40);
    progressBar->setMaximum(100);
    progressBar->setMinimum(0);
    progressBar->setValue(0);

    //define a timer
    QTimer *timer = new QTimer;
    timer->start(500);
    QObject::connect(timer, SIGNAL(timeout()), progressBar, SLOT(stepOne()));
    progressBar->show();
    return app.exec();
}

转自:http://blog.chinaunix.net/uid-27225886-id-3352398.html

亲测可用。

时间: 2024-11-02 22:29:33

QT进度条QProgressBar的练习的相关文章

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(

进度条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.progres

QT 进度条 QProgressDialog

//默认构造函数 参数依次为,对话框正文,取消按钮名称,进度条范围,及所属 QProgressDialog *progressDlg=new QProgressDialog( QStringLiteral("正在保存......"), QStringLiteral("取消"),0,max,this); progressDlg->setWindowModality(Qt::WindowModal); //如果进度条运行的时间小于5,进度条就不会显示,不设置默认是

【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中拖一个按钮和进度条部件,按下面初始化 //补充:下面两句写在MainWindow的构造函数里进行初始化 ui->progressBar->setRange(0,50000-1);  ui->progressBar->setValue(0); 按钮的事件处理: void MainWindow::on_pushButton_clicked()

Qt第三方圆形进度条-及其改进

Qt第三方圆形进度条的改进 要实现一个圆形的进度条功能,在网上找到一个比较出名的第三方封装类:QRoundProgressBar,地址:sourceforge 的 QRoundProgressBar 功能封装的还是不错,提供了3种模式,线形.圆环.饼状.使用过程中发现圆环进度条对背景透明支持不够完善,内圆的背景无法实现透明,为了解决此问题,下面对此控件进行了一些修订,实现完整的圆形进度条. QRoundProgressBar目前存在的不足 QRoundProgressBar在带背景图片widge

Qt编写自定义控件13-多态进度条

前言 多态进度条,顾名思义,有多重状态,其实本控件主要是用来表示百分比进度的,由于之前已经存在了百分比进度条控件,名字被霸占了,按照先来先得原则,只好另外取个别名叫做多态进度条,应用场景是,某种任务有三种状态,比如正常状态.警戒状态.报警状态,这三种状态都分别有一个占比,需要用不同的颜色表示,这样就衍生出了此控件,类似于堆积图.接下来节假日四天,可以全身心投入研发还未完工的大屏UI程序,基础控件部分+二级界面部分都已经做好,现在专心整合到主界面和打通数据流(采用数据库采集+网络采集两种方式).多

Qt编写自定义控件14-环形进度条

前言 环形进度条,用来展示当前进度,为了满足大屏UI的需要特意定制,以前有个叫圆环进度条,不能满足项目需要,只能重新定做,以前的进度间距不能自适应分辨率,而且当前进度对应的反的进度不能单独设置颜色,即当前进度90%,剩余的10%也需要设置成不同的颜色,还有一个重要的功能是,能够指定多个警戒值,一旦超过或者小于该值,则当前进度自动切换到预先设定的警戒值颜色,而不需要用户自己去判断警戒值去设置警戒颜色,用户只需要传入当前值即可,这个功能非常实用,还可以设置警戒判断的标准是超过值还是小于值报警.个人感