博客
关于我
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 触发器
查看>>
mysql 让所有IP访问数据库
查看>>
mysql 记录的增删改查
查看>>
MySQL 设置数据库的隔离级别
查看>>
MySQL 证明为什么用limit时,offset很大会影响性能
查看>>
Mysql 语句操作索引SQL语句
查看>>
MySQL 误操作后数据恢复(update,delete忘加where条件)
查看>>
MySQL 调优/优化的 101 个建议!
查看>>
mysql 转义字符用法_MySql 转义字符的使用说明
查看>>
mysql 输入密码秒退
查看>>
mysql 递归查找父节点_MySQL递归查询树状表的子节点、父节点具体实现
查看>>
mysql 里对root及普通用户赋权及更改密码的一些命令
查看>>
Mysql 重置自增列的开始序号
查看>>
MySQL 高可用性之keepalived+mysql双主
查看>>
mysql-connector-java各种版本下载地址
查看>>
mysql-group_concat
查看>>
MySQL-【4】基本操作
查看>>
Mysql-丢失更新
查看>>
Mysql-事务阻塞
查看>>
Mysql-存储引擎
查看>>