在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);
}
}
这样就可以显示进度条了,自动那个计算百分比,并显示
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;
}
}
本文转自feisky博客园博客,原文链接:http://www.cnblogs.com/feisky/archive/2010/06/17/1759654.html,如需转载请自行联系原作者