在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);
}
}
这样就可以显示进度条了,自动那个计算百分比,并显示
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;
}
}