您的位置:首页 > 编程语言 > Qt开发

QT笔记之进度条QProgressBar和QProgressDialog

2016-06-13 16:58 686 查看
进度条通常在处理长时间任务时需要提供用于显示时间,告诉用户当前任务的进展情况。

Qt提供了两种进度条显示方式,一种是QProgressBar,另一种是QProgressDialog,即一种对话框。

comboBox中选项为dialog即使用QProgressDialog显示进度条,Bar即使用QProgressBar。

code

int num = ui->lineEdit->text().toInt();         //获取当前文档数目,即总步进值

if(ui->comboBox->currentIndex()==0){
QProgressDialog *progressDialog = new QProgressDialog(this);
progressDialog->setValue(0);                               //初始化值为0
progressDialog->setMinimumDuration(5);                     //设置对话框出现需要等待的时间
progressDialog->setRange(0, num);                          //设置步进值的范围
progressDialog->setWindowTitle("Please wait");
progressDialog->setLabelText("copying......");
for (int i = 0; i < num; i ++){
progressDialog->setValue(i);                        //模拟进度
if(progressDialog->wasCanceled()){                 //当点击取消按钮时,关闭对话框
return ;
}
}
}

else{
ui->progressBar->setFormat("%p%");                    //设置进度条的显示格式,%p%为百分比,%v表示当前步进值,%m为总的步进值
ui->progressBar->setRange(0, num);
for (int i = 0; i < num; i ++){
ui->progressBar->setValue(i);
}
}

QMessageBox::information(this,"提示","当前任务完成");`


程序运行图片如下:



刚开始学习Qt,写的可能不完整,欢迎大家指正
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  qt