QT进度条

 

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

 

 

QProgressBar的使用

 

首先在designer中拖一个按钮和进度条部件,按下面初始化

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=0;j<20000;j++);
        ui->progressBar->setValue(i);
    }
}



这样就可以显示进度条了,自动那个计算百分比,并显示

QT进度条

 

QProgressDialog的使用方法

 

而用QProcessDialog也是类似的,只不过这是以对话框形式显示;并且它还提供了一个取消按钮,用来取消操作。QProcessDialog会自动那个计算百分比,并显示。

void MainWindow::on_pushButton_clicked()
{
    QProgressDialog process(this);
    process.setLabelText(tr("processing..."));
    process.setRange(0,50000);
    process.setModal(true);
    process.setCancelButtonText(tr("cancel"));


    for(int i=0;i<50000;i++)
    {
        for(int j=0;j<20000;j++);
        process.setValue(i);
        if(process.wasCanceled())
            break;
    }
}

 

QT进度条

你可能感兴趣的:(进度条)