• QT笔记之进度条QProgressBar和QProgressDialog


    进度条通常在处理长时间任务时需要提供用于显示时间,告诉用户当前任务的进展情况。
    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,写的可能不完整,欢迎大家指正

  • 相关阅读:
    Ubuntu中设置永久的DNS
    Ubuntu上OpenStack DashBoard主题修改的方案
    OpenStack 控制台不能不能访问的问题
    树莓派2试玩
    SharpMap V1.1 For Web教程系列之——地图展示
    剑指offer12 矩阵中的路径
    flex布局中关键词整理
    浏览器缓存 强缓存 协商缓存整理
    二叉搜索树中第K小的元素
    leetcode cs-notes-树(一)【js】
  • 原文地址:https://www.cnblogs.com/topk/p/6580126.html
Copyright © 2020-2023  润新知