Qt实战案例(6)——进度条对话框的实现(QProgressDialog)

目录

    • 一、项目介绍
    • 二、项目基本配置
    • 三、UI界面设计
    • 四、主程序实现
      • 4.1 mainwindow.h头文件
      • 4.2 mainwindow.cpp源文件
    • 五、效果演示

一、项目介绍

很多情况下加载应用程序时都会显示一个进度条对话框,在程序完全加载完毕后消失。Qt中提供了QProgressDialog类实现了在程序加载过程中显示进度条对话框的功能。
本文以加载Excel文件为例对其进行基本介绍。

二、项目基本配置

新建一个Qt项目,完成项目创建。
项目内容参考:Qt实战案例(4)——利用Qt读取Excel表格

三、UI界面设计

UI界面参考读取Excel表格的UI界面。

四、主程序实现

4.1 mainwindow.h头文件

同样参考读取Excel表格。
引入相关的类:

#include 

private:
	...
    QProgressDialog progressDialog;

4.2 mainwindow.cpp源文件

源文件读取Excel相关内容同样可以参考Qt实战案例(4)。

选择文件按钮on_select_clicked中添加如下代码:

progressDialog.setWindowTitle("progress dialog test");//对话框标题
progressDialog.setLabelText("wait...");//对话框文本
progressDialog.setCancelButtonText("cancel");//设置取消按钮
progressDialog.setRange(1,50);//设置进度条范围
progressDialog.setModal(true);//以模态方式弹出对话框
//progressDialog.autoClose();
progressDialog.showNormal();

然后在读取行列值后添加如下代码【假设i有10行,j有5行】:

for (int j=1;j<=10;++j){
        for(int i = 1;i<=5;i++){
        progressDialog.setValue((j-1)*10+i);//设置进度条的值
        ...
        //设置点击取消按钮的响应操作
		if(progressDialog.wasCanceled()){//取消为true
            progressDialog.reset();
            break;
        	}
        }
}

五、效果演示

Qt实战案例(6)——进度条对话框的实现(QProgressDialog)_第1张图片

参考:

  1. https://blog.csdn.net/dongdong_csdn/article/details/103915162
  2. http://blog.sina.com.cn/s/blog_7cd29e1f0102x0n9.html

ok,以上便是文章的全部内容了,如果对你有所帮助,记得点个赞哟!

你可能感兴趣的