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

亲测可用。

你可能感兴趣的:(ProgressBar)