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(intj=0;j<20000;j++);
ui->progressBar->setValue(i);
}
}

这样就可以显示进度条了,自动那个计算百分比,并显示

QProgressDialog的使用方法

而用QProcessDialog也是类似的,只不过这是以对话框形式显示;并且它还提供了一个取消按钮,用来取消操作。QProcessDialog会自动那个计算百分比,并显示。

voidMainWindow::on_pushButton_clicked()
{
QProgressDialogprocess(this);
process.setLabelText(tr("processing..."));
process.setRange(0,50000);
process.setModal(true);
process.setCancelButtonText(tr("cancel"));

for(inti=0;i<50000;i++)
{
for(intj=0;j<20000;j++);
process.setValue(i);
if(process.wasCanceled())
break;
}
}

http://www.cnblogs.com/elect-fans/archive/2012/03/20/2408559.html

时间: 2024-10-06 03:57:42

QT进度条的相关文章

QT 进度条 QProgressDialog

//默认构造函数 参数依次为,对话框正文,取消按钮名称,进度条范围,及所属 QProgressDialog *progressDlg=new QProgressDialog( QStringLiteral("正在保存......"), QStringLiteral("取消"),0,max,this); progressDlg->setWindowModality(Qt::WindowModal); //如果进度条运行的时间小于5,进度条就不会显示,不设置默认是

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第三方圆形进度条-及其改进

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

QT中进度条的使用

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

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

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

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

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

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=

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

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

QTableView带可编辑进度条

main文件与上一个例子完全一致,也使用QStandardItemModel,关键是有这句:QStandardItem.setEditable(false);  继承QAbstractItemDelegate后,覆盖4个函数(全部经过验证,都是自带后覆盖): class BarDelegate : public QAbstractItemDelegate { public: BarDelegate( QObject *parent = 0 ); void paint( QPainter *pai