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


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

QProgressBar和QProgressDialog的简单实用_hive

 

QProgressDialog的使用方法

 

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

voidMainWindow::on_pushButton_clicked()
{
QProgressDialog process(this);
process.setLabelText(tr("processing..."));
process.setRange(0,50000);
process.setModal(true);
process.setCancelButtonText(tr("cancel"));
for(inti=0;i<50000;i++)
{
for(intj=0;j<20000;j++);
process.setValue(i);
if(process.wasCanceled())
break;
}
}


 

QProgressBar和QProgressDialog的简单实用_进度条_02