QtTest.ui
QtTest.h
#pragma once #include <QtWidgets/QWidget> #include "ui_QtTest4.h" #include <QPointer> class QTimer; class QWinTaskbarButton; class QWinTaskbarProgress; class QtTest4 : public QWidget { Q_OBJECT public: QtTest4(QWidget *parent = Q_NULLPTR); private: Ui::QtTest4Class ui; QPointer<QTimer> timer; QPointer<QWinTaskbarButton> m_taskBar_button; QPointer<QWinTaskbarProgress> m_taskBar_progress; };QtTest.cpp
#include "QtTest4.h" #include <QTimer> #include <QAbstractButton> #include <QWinTaskbarProgress> #include <QWinTaskbarButton> QtTest4::QtTest4(QWidget *parent) : QWidget(parent) { ui.setupUi(this); timer = new QTimer; timer->setInterval(1000); m_taskBar_button = new QWinTaskbarButton(this); // signals and slots connect(timer, &QTimer::timeout, this, [=]() { m_taskBar_progress->setValue(m_taskBar_progress->value() + 10); m_taskBar_progress->show(); if (m_taskBar_progress->value() >=100) { timer->stop(); m_taskBar_progress->setValue(0); m_taskBar_button->setOverlayIcon(QIcon("")); } }); connect(ui.btn_start, &QAbstractButton::clicked, this, [=]() { m_taskBar_button->setWindow(windowHandle()); m_taskBar_button->setOverlayIcon(QIcon(":/img.png")); m_taskBar_progress = m_taskBar_button->progress(); m_taskBar_progress->setRange(0, 100); timer->start(); }); }