QT 进度条 QProgressDialog

//默认构造函数 参数依次为,对话框正文,取消按钮名称,进度条范围,及所属

QProgressDialog *progressDlg=new QProgressDialog( QStringLiteral("正在保存......"), QStringLiteral("取消"),0,max,this);
progressDlg->setWindowModality(Qt::WindowModal);

//如果进度条运行的时间小于5,进度条就不会显示,不设置默认是4S
progressDlg->setMinimumDuration(5);

//设置标题,可以不设置默认继承父窗口标题                        
progressDlg->setWindowTitle(QStringLiteral("请稍候"));

//设置图标,可以不设置默认继承父窗口图标
progressDlginit.setWindowIcon(QIcon("XX.png"));

// 0<i<=max   此块代码可以按需要和上面代码分开写在不同位置 如果在不同作用域中注意QProgressDialog *progressDlg应该在哪块声明

progressDlg->setValue(i);

//如果点击取消按钮就执行的操作                                        
if(progressDlg->wasCanceled())                                  
{
      QMessageBox::warning(NULL,QStringLiteral("提示"),QStringLiteral("保存失败"));
     return;
}

效果如图

时间: 2024-11-13 03:51:46

QT 进度条 QProgressDialog的相关文章

QT进度条

在QT中可以用QProgressBar或着QProgressDialog来实现进度条. QProgressBar的使用 首先在designer中拖一个按钮和进度条部件,按下面初始化 ui->progressBar->setRange(0,50000-1); ui->progressBar->setValue(0); 按钮的事件处理: voidMainWindow::on_pushButton_clicked() { for(inti=0;i<50000;i++) { for(

QT进度条QProgressBar的练习

progressbar.h #ifndef PROGRESSBAR_H #define PROGRESSBAR_H #include <QProgressBar> class QString; class ProgressBar: public QProgressBar { Q_OBJECT public: ProgressBar(QWidget *parent = 0):QProgressBar(parent){} QString strText; public slots: void st

QT中可以用QProgressBar或着QProgressDialog来实现进度条

QProgressBar的使用 首先在designer中拖一个按钮和进度条部件,按下面初始化 //补充:下面两句写在MainWindow的构造函数里进行初始化 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=

QT中进度条的使用

在QT中可以用QProgressBar或着QProgressDialog来实现进度条. QProgressBar的使用 首先在designer中拖一个按钮和进度条部件,按下面初始化 //补充:下面两句写在MainWindow的构造函数里进行初始化 ui->progressBar->setRange(0,50000-1);  ui->progressBar->setValue(0); 按钮的事件处理: void MainWindow::on_pushButton_clicked()

Qt第三方圆形进度条-及其改进

Qt第三方圆形进度条的改进 要实现一个圆形的进度条功能,在网上找到一个比较出名的第三方封装类:QRoundProgressBar,地址:sourceforge 的 QRoundProgressBar 功能封装的还是不错,提供了3种模式,线形.圆环.饼状.使用过程中发现圆环进度条对背景透明支持不够完善,内圆的背景无法实现透明,为了解决此问题,下面对此控件进行了一些修订,实现完整的圆形进度条. QRoundProgressBar目前存在的不足 QRoundProgressBar在带背景图片widge

Qt编写自定义控件13-多态进度条

前言 多态进度条,顾名思义,有多重状态,其实本控件主要是用来表示百分比进度的,由于之前已经存在了百分比进度条控件,名字被霸占了,按照先来先得原则,只好另外取个别名叫做多态进度条,应用场景是,某种任务有三种状态,比如正常状态.警戒状态.报警状态,这三种状态都分别有一个占比,需要用不同的颜色表示,这样就衍生出了此控件,类似于堆积图.接下来节假日四天,可以全身心投入研发还未完工的大屏UI程序,基础控件部分+二级界面部分都已经做好,现在专心整合到主界面和打通数据流(采用数据库采集+网络采集两种方式).多

Qt编写自定义控件14-环形进度条

前言 环形进度条,用来展示当前进度,为了满足大屏UI的需要特意定制,以前有个叫圆环进度条,不能满足项目需要,只能重新定做,以前的进度间距不能自适应分辨率,而且当前进度对应的反的进度不能单独设置颜色,即当前进度90%,剩余的10%也需要设置成不同的颜色,还有一个重要的功能是,能够指定多个警戒值,一旦超过或者小于该值,则当前进度自动切换到预先设定的警戒值颜色,而不需要用户自己去判断警戒值去设置警戒颜色,用户只需要传入当前值即可,这个功能非常实用,还可以设置警戒判断的标准是超过值还是小于值报警.个人感

如何为无法获取进度百分比的耗时操作增加“伪进度条”?

在实际开发中,可能会遇到这样的场景:“一个操作非常耗时,但却无法获取其进度百分比”.造成这种情况的原因可能有: 1)该操作属于第三方库(泛指我们使用但无法修改的第三方代码,因此质量有高有底),可能由于第三方库作者没有意识到这个操作在某些情况下会非常耗时,没有提供进度值. 2)某些操作压根就无法计算进度或者计算进度要牺牲极大的效率. 这种场景,执行这样的耗时操作会导致程序UI假死.为了提高用户体验,我们可以为该操作提供一个假的进度条,即保证程序UI不假死.我们将耗时操作放到子线程中去执行,然后在G

【Qt5开发及实例】10、关于进度条的显示

平常我们下载东西总会有一个显示下载了多少的进度条,我们今天来实现一下. 这里有两种显示方式 可以选择,第一个是用了 QProgressBar控件,第二个是用了QProgressDialog控件 progressdlg.h /** * 书本:[Qt5开发及实例] * 功能:为了实现进度条的显示 * 文件:progressdlg.h * 时间:2015年1月2日15:27:10 * 作者:cutter_point */ #ifndef PROGRESSDLG_H #define PROGRESSDL