您的位置:首页 > 编程语言 > Qt开发

QT进度条QProgressBar的练习(定制QProgressBar,单独成为一个控件)

2016-10-24 20:56 387 查看
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
http://www.cnblogs.com/luoxiang/p/4159881.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: