QProgressBar

QProgressBar常用來顯示目前的工作進度,像程式安裝、檔案複製、下載等。以下範例我們給QProgressBar一個最大值,按下開始鍵後,QProgressBar的值從0開始增加,到最大值的時候停止,在這之中不斷顯示目前的值佔最大值的比例。


widget.h

#ifndef WIDGET_H
#define WIDGET_H

#include <QProgressBar>
#include <QPushButton>

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = 0);
private:
    QProgressBar *myProgressBar;
    QPushButton *myStarBtn;

private slots:
    void startProgress();
};

#endif 

widget.cpp

#include "widget.h"

Widget::Widget(QWidget *parent) :
    QWidget(parent)
{
    setWindowTitle(tr("按鍵組"));
    myProgressBar = new QProgressBar(this);
    myStarBtn = new QPushButton(this);
    myProgressBar->setGeometry(30,30,120,30); //設定位置大小
    myStarBtn->setGeometry(30,70,90,30);     //設定位置大小
    myStarBtn->setText(tr("開始"));

    connect(myStarBtn,SIGNAL(clicked()),this,SLOT(startProgress()));
}

void Widget::startProgress()
{
    myProgressBar->setRange(0,10000);
    for(int i=1; i<=10000; i++){
        myProgressBar->setValue(i);
    }
}

main.cpp

#include "widget.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();

    return a.exec();
}

QProgressBar

QProgressBar