博客
关于我
QT 任务栏进度条
阅读量:640 次
发布时间:2019-03-14

本文共 1991 字,大约阅读时间需要 6 分钟。

简述

我们下载东西的时候都会想知道自己下载多少了,还有多久可以下完,但是我们也不可能一直盯着程序中的进度条看,还要去做别的事。这时候任务栏进度条就有用了,我们可以在做别的事时只需要看任务栏进度条就能够知道下载的进度了,很多软件都有这样的功能,比如谷歌浏览器、迅雷。

                                                                      

Qt也可以实现这样的功能,使用QT自带的QWinTaskBarButton和QWinTaskBarProgress就可以实现这样的功能。

 


效果展示

 


代码实现

要使用QWinTaskBarButton和QWinTaskBarProgress需要先早pro文件中加入:

win32:QT += winextras

taskbarprogress.h文件

#ifndef TASKBARPROGRESS_H#define TASKBARPROGRESS_H#include 
#include
#include
#include
#include
namespace Ui {class TaskbarProgress;}class TaskbarProgress : public QMainWindow{ Q_OBJECTpublic: explicit TaskbarProgress(QWidget *parent = 0); ~TaskbarProgress(); void onButtonClicked(); void onTimeout();private: Ui::TaskbarProgress *ui; QTimer *timer; QWinTaskbarButton *windowsTaskbarButton; QWinTaskbarProgress *windowsTaskbarProgress;};#endif // TASKBARPROGRESS_H

taskbarprogress.cpp文件 

#include "taskbarprogress.h"#include "ui_taskbarprogress.h"TaskbarProgress::TaskbarProgress(QWidget *parent) :    QMainWindow(parent),    ui(new Ui::TaskbarProgress){    ui->setupUi(this);    timer = new QTimer;    timer->setInterval(1000);     //设置时间间隔    //创建显示进度的任务栏按钮    windowsTaskbarButton = new QWinTaskbarButton(this);    connect(timer, &QTimer::timeout, this, &TaskbarProgress::onTimeout);    connect(ui->Btn_Start, &QAbstractButton::clicked, this, &TaskbarProgress::onButtonClicked);}TaskbarProgress::~TaskbarProgress(){    delete ui;}void TaskbarProgress::onButtonClicked() {    //将任务栏按钮关联到进度栏,假设进度栏是它自己的窗口    windowsTaskbarButton->setWindow(windowHandle());    windowsTaskbarProgress = windowsTaskbarButton->progress();    windowsTaskbarProgress->setRange(0, 100);    timer->start();}void TaskbarProgress::onTimeout() {    //当进度条的值发生变化时,更改任务栏中的进度值    windowsTaskbarProgress->setValue(windowsTaskbarProgress->value() + 20);    windowsTaskbarProgress->show();    if (windowsTaskbarProgress->value() > 99) {        windowsTaskbarProgress->setValue(0);        timer->stop();    }}
 

转载地址:http://geulz.baihongyu.com/

你可能感兴趣的文章
mysql-connector-java各种版本下载地址
查看>>
mysql-group_concat
查看>>
MySQL-redo日志
查看>>
MySQL-【1】配置
查看>>
MySQL-【4】基本操作
查看>>
Mysql-丢失更新
查看>>
Mysql-事务阻塞
查看>>
Mysql-存储引擎
查看>>
mysql-开启慢查询&所有操作记录日志
查看>>
MySQL-数据目录
查看>>
MySQL-数据页的结构
查看>>
MySQL-架构篇
查看>>
MySQL-索引的分类(聚簇索引、二级索引、联合索引)
查看>>
Mysql-触发器及创建触发器失败原因
查看>>
MySQL-连接
查看>>
mysql-递归查询(二)
查看>>
MySQL5.1安装
查看>>
mysql5.5和5.6版本间的坑
查看>>
mysql5.5最简安装教程
查看>>
mysql5.6 TIME,DATETIME,TIMESTAMP
查看>>