QT 进度条类 QProgressDialog的简单使用

Qt实战案例(6)——进度条对话框的实现(QProgressDialog) 目录一、项目介绍二、项目基本配置三、UI界面设计四、主程序实现4.1 mainwindow.h头文件4.2 mainwindow.cpp源文件五、效果演示 一、项目介绍 很多情况下加载应用程序时都会显示一个进度条对话框,在程序完全加载完毕后消失。Qt中提供了QProgressDialog类实现了在程序加载过程中显示进度条对话框的功能。 本文以加载Excel文件为例对其进行基本介绍。 二、项目基本配置 新建一个Qt项目,完成项目创建。 项目内容参考:Qt实战案例(4)——利用Qt读取Excel表格 三、UI界 阅读详情

一、The QProgressDialog class provides feedback on the progress of a slow operation. 

QProgressDialog 类对于比较慢的处理进程提供了一种反馈,使得我们在进行操作的时候能够看到处理的进度。例如:

二、打开Qt,新建项目,名称为new4,选择Widget,这里不用Mainwindow,ui设计很简单,拖放一个按钮即可:

三、在Pushbutton右键选择“转到槽”,我们这里利用计时器,每秒设置一次进度值。所以除了包含QProgressDialog外,还需要包含QTimer。定义一个perform()函数用来设置进度值。头文件定义如下:

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QProgressDialog>
#include <QTimer>

namespace Ui {
class Widget;
}

class Widget : public QWidget
{
    Q_OBJECT

public:
    explicit Widget(QWidget *parent = 0);
    ~Widget();

private slots:
    void on_pushButton_clicked();
    void perform();

private:
    Ui::Widget *ui;

    QProgressDialog *pd;
    QTimer *t;
};

#endif // WIDGET_H

四、cpp文件如下:

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);

}

Widget::~Widget()
{
    delete ui;
}

void Widget::on_pushButton_clicked()
{
    //新建对象,参数含义:对话框正文,取消按钮名称,进度条范围
    pd = new QProgressDialog("正在保存...","取消",0,100,this);
    //模态对话框
    pd->setWindowModality(Qt::WindowModal);
    //如果进度条运行的时间小于5,进度条就不会显示,默认是4S
    pd->setMinimumDuration(5);
    //设置标题
    pd->setWindowTitle("请稍后");
    //显示处理框
    pd->show();
    //处理过程。。。
    t = new QTimer(this);
    connect(t, SIGNAL(timeout()), this, SLOT(perform()));
    t->start(1000);
}

int steps = 0;

void Widget::perform()
{
    steps++;
    pd->setValue(steps);
    if(steps > pd->maximum() || pd->wasCanceled())
    {
        t->stop();
        steps = 0;
        delete pd;
    }

}

五、运行效果见第一步。点击取消的时候或者步长超过最大值,计时器机会停止,同时对变量重新赋值为0,最后删除定义的对象。再次点击按钮,计时器打开,进度依然从头开始。
 

 

 

 

 

 

 

 

 

参考文献:https://www.cnblogs.com/etwd/p/4521862.html

Qt进度对话框QProgressDialog 在上述代码中,我们使用了一个循环模拟了一个耗时的操作,并通过setValue函数更新了当前进度值。在Qt中,QProgressDialog是一种用于显示进度信息的标准对话框。它提供了一个简单的用户界面,可用于向用户显示任务的进度,并允许用户中断该任务。在上述代码中,我们创建了一个进度对话框progressDialog,并通过setWindowTitle函数设置了对话框的标题为“Progress”。在上面的代码中,我们将最大进度值设置为100,并将提示信息设置为“Loading data… 阅读详情

相关推荐

QT基础控件 进度条ProgressDialog基础、高级和样式表使用

QProgressDialog类提供了多种函数,用于配置和控制进度对话框的行为。构造函数:QProgressDialog提供了两种构造函数。默认构造函数创建一个进度对话框,而另一个构造函数允许你指定标签文本、取消按钮文本、最小值和最大值。autoClose():返回进度对话框在达到最大值时是否自动关闭的状态。autoReset():返回进度对话框在达到最大值时是否自动重置的状态。labelText():返回进度对话框上显示的标签文本。maximum():返回进度对话框的最大值。

吻等离子的博客 3786

Qt基础-QProgressDialog进度对话框

Qt基础-QProgressDialog进度对话框 进度对话框可用于在加载大文件时显示进度,常见用法如下: QProgressDialog progress; progress.setWindowFlags(Qt::Dialog | Qt::CustomizeWindowHint | Qt::WindowTitleHint); //不显示进度条上的“最小化”“最大化”“关闭” progress..setWindowTitle("任务保存"); //窗口标题 progress.setsetAutoClos

羽士的博客 9037

告别VLC!用Python+OpenCV实时拉取RTSP监控流,并实现抽帧降低延迟(附完整代码)

本文介绍了一种基于Python和OpenCV的低延迟RTSP监控流处理方案,通过抽帧技术显著降低延迟并保持视频分析准确性。文章详细讲解了RTSP流处理的基础挑战、抽帧技术原理与实现,以及完整的低延迟处理方案,包括硬件加速配置和动态抽帧算法,帮助开发者优化监控视频流处理性能。

weixin_30333885的博客 272

Qt 基础之进度条 - QProgressDialog和QProgressBar

`进度条`的作用是用于显示任务或操作的进度,以便用户了解当前任务的完成情况。它可以提供实时、可视的反馈,让用户知道任务的进展情况,以及剩余的时间或工作量。进度条可以用于各种应用场景,比如文件下载、软件安装、视频播放、上传文件、数据处理等,帮助用户更好地管理和掌控任务的执行。 - `QProgressDialog`和`QProgressBar`用来是Qt框架中用于显示进度条的两个类,它们都是基于QWidget的派生类,用于在应用程序中显示任务的进度。

做减求空 7968

windows11 远程桌面连接 通过代理连接RDP桌面报错 错误代码0x904 拓展错误代码0x7

打开windows Defender防火墙设置--允许应用通过防火墙更改设置--允许其他应用浏览--进入C:\WINDOWS\system32目录选择mstsc.exe进入C:\Windows\SysWOW64目录h'qmstsc.exe添加后列表里多了一个远程桌面连接,还有一个Remote Desktop Connection,配置网络权限后保存连接成功。

weixin_43978891的博客 1万+

Win7/10/11文件拖拽导致资源管理器闪退问题

最近老是遇到把文件从资源管理器拖动到微信或者浏览器时,资源管理器直接闪退的问题,一开始在公司遇到了还以为是电脑配置太低,直到被封闭在家办公,发现自己的高级电脑也有这个问题,那就来了解了解问题是出在什么地方把。

Nicer_feng's blog 1万+

Qt学习——进度条QProgressBar/QProgressDialog类

两种进度条显示: QProgressBar和QProgressDialog 下面例子展示两种进度条:       代码: 头文件dialog.h中: #include #include #include #include #include #include #include class Dialog : public QDialog { Q_OBJECT

liming's blog 3万+

【CAN总线测试】——使用VH6501 进行Busoff快慢恢复测试

即在IDBase中填标准帧11位二进制ID,如果不满11位,高位补零,凑齐11位,并将下方CurrTriggerField设置干扰前一位AckSlot位,Triggeroffset设置为0。首先确认环境支持VN6501,6501硬件连接成功后,工程的小闪电是正常黄色状态,若是灰色证明缺少License,或者软件安装环境不正确。填写干扰报文ID、干扰位置 注意这里的干扰位置是实际干扰的前一位,TriggerOffset表示偏移量,可以干扰某个字节的具体位.找到并打开Panel后,开启工程,并且配置面板。

LOVE135149的博客 5629

Qt学习——进度条QProgressBar/QProgressDialog类 .

两种进度条显示: QProgressBar和QProgressDialog 下面例子展示两种进度条:       代码: 头文件dialog.h中: view plaincopy to clipboardprint? #include

1万+

基于simulink的电气弹簧ES稳压控制模型仿真

若要补偿母线电压的谐波,需控制ES上的谐波,即在单闭环母线电压有效值控制的基础上,增加谐波抑制环节来进行谐波控制,现有的各种检测和抑制谐波的方法有采用模拟滤波器、傅里叶分析进行谐波分析、基于瞬时无功功率理论的方法等。当关键负载ZC为电流源型非线性负载时,电路原理图如图7所示,由于电流源型非线性负载可以等效为谐波电流源,关键负载电流ic便会含有谐波分量,导致输电线电流is和母线电压VS同样会含有谐波分量,导致供电质量的严重下降,对用电设备的正常工作造成影响。分别为流过线路阻抗、非关键负载、关键负载的电流,

FPGA/MATLAB学习教程/源码/项目合作开发 1631

【目标检测】全局上下文感知的详解

目标检测中的全局上下文感知(Global Context Awareness)​是指模型在定位和识别目标时,能够有效利用图像中全局或大范围的上下文信息(如场景语义、目标间关系、空间布局等),而不仅仅依赖局部特征。这种能力显著提升了检测的鲁棒性,尤其是在复杂场景(如遮挡、小目标、密集目标)中表现突出。

浩瀚之水的专栏 644

Qt中进度条的简单实例

Qt中有两种进度条相关的类 一个是QProgressDialog和QProgressBar 实例: bool ok; int num=FileNumLineEdit->text().toInt(&ok); //ok的作用在于先检测数据是否合理 if(comboBox->currentIndex()==0){ // progressBar->setRan

Jamence的博客 9191

机器人行业面试全攻略:从0到1拿下心仪Offer,看这一篇就够了

【摘要】2026年机器人行业迎来爆发期,全球市场规模超800亿美元,人才争夺激烈。本文针对机器人行业面试提供系统攻略:首先需明确岗位方向、打造差异化标签并了解目标公司;技术面试高频考点包括ROS框架、SLAM导航、运动控制、深度学习和嵌入式系统;项目介绍需采用STAR+R结构并量化成果;行为面试需注意协作能力与职业规划。文章还总结了简历堆砌、单向输出等五大常见误区,强调长期积累与精准准备的重要性,助力求职者把握行业窗口期机会。

郑伟强dev的专栏 188

QProgressDialog进度条类

QProgressDialog进度条类

记录我目之所及的世界 394

影像组学文章复现:ITHscore:通过多尺度放射学特征全面定量NSCLC肿瘤内异质性 ----小细胞肺癌肿瘤异质性评分

目的:通过计算机断层扫描(CT)图像量化非小细胞肺癌(NSCLC)的肿瘤内异质性(ITH)。 方法:整合局部辐射特征和全局像素分布模式,开发定量ITH测量-ITHscore。在六个患者队列(n = 1399)中检查ITHscore与肿瘤表型,基因型和患者预后的关联,以验证其在表征ITH方面的有效性。

xxx 1020

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

进度条--QProgressBar,进度对话框--QProgressDialog

指示 reset()函数是否隐藏对话框,若 autoClose()为 true,则 reset()函数会隐藏对话框,进度对话框是否在value()等于maximum时立即调用reset(),若为true则立即调用reset()把取消按钮的文本设置为 cancelButtonText,若设置为 QString()(注意:不是空字符串),进度条的方向,必须是 Qt::Horizontal (水平,默认) 或 Qt::Vertical (垂直)

zxf347085420的博客 3267

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

QT 中 QProgressDialog 进度条窗口 备查

【代码】QT 中 QProgressDialog 进度条窗口 备查。

日常解决问题的记录。 1469

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

QProgressDialog

# -*- coding: utf-8 -*- """ Author: Administrator Date: 2020/5/12 23:27 """ from PySide2 import QtCore from PySide2 import QtWidgets from shiboken2 import wrapInstance import maya.OpenMayaUI as omui import maya.cmds as cmds import maya.mel as mel import

Mr.Guan 301

Qt创建进度条的两种方法

qt进度条的使用方式

weixin_43385225的博客 980

QProgressDialog 自动显示问题解决记录

发现 在类中定义 QProgressDialog 成员变量,窗口启动后进度条会自动出现。

2304_78343111的博客 349

PyQt4 精彩实例分析* 实例8 使用进度条

通常在处理长时间任务时需要提供进度条的显示,告诉用户当前任务的进展情况。本实例演示如何使用进度条,如下图所示。                                            Qt提供了两种显示进度条的方式,一种是QProgressBar,另一种是QProgressDialog,QProgressBar类提供了种横向或纵向显示进度条的控件表示方式,用来描述任务的完

wdt3385的专栏 2159

进度条、QPalette类

QT有两种方式显示进度条,一种是QprogressBar,提供了一种横向或纵向显示进度的控件;另一种是QProgressDialog,提供了一种针对慢速过程的进度对话框表示方式。 主要代码及实现代码: //方式一 QProgressBar* progressbar; progressbar=new QProgressBar; progressbar->setRange(0,Ma...

weixin_30587927的博客 124

嵌入式Qt 选择字体对话框QFontDialog-进度对话框 QProgressDialog-打印对话框QPrintDialog(1)

【代码】嵌入式Qt 选择字体对话框QFontDialog-进度对话框 QProgressDialog-打印对话框QPrintDialog(1)

2401_84010784的博客 181
上一篇: 度分秒转度数和度数转度分秒
下一篇: Python安装第三方库模块(Windows下)
之乎者也哦
博客等级 码龄8年 7165粉丝 72原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值