博客
关于我
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/

你可能感兴趣的文章
NAND NOR FLASH闪存产品概述
查看>>
nano 编辑
查看>>
nanoGPT 教程:从零开始训练语言模型
查看>>
NASA网站曝严重漏洞,或将沦为黑客钓鱼网站?
查看>>
Nash:轻量级、安全且可靠的脚本语言
查看>>
NAS、SAN和DAS的区别
查看>>
NAS个人云存储服务器搭建
查看>>
NAS服务器有哪些优势
查看>>
NAT PAT故障排除实战指南:从原理到技巧的深度探索
查看>>
nat 网卡间数据包转发_你是不是从来没有了解过光纤网卡,它跟普通网卡有什么区别?...
查看>>
NAT-DDNS内网穿透技术,快解析DDNS的优势
查看>>
NAT-DDNS内网穿透技术,快解析DDNS的优势
查看>>
NAT-DDNS内网穿透技术,解决动态域名解析难题
查看>>
natapp搭建外网服务器
查看>>
NativePHP:使用PHP构建跨平台桌面应用的新框架
查看>>
nativescript(angular2)——ListView组件
查看>>
NativeWindow_01
查看>>
Native方式运行Fabric(非Docker方式)
查看>>
Nature | 电子学“超构器件”, 从零基础到精通,收藏这篇就够了!
查看>>
Nature和Science同时报道,新疆出土四千年前遗骸完成DNA测序,证实并非移民而是土著...
查看>>