如何在Windows 7任务栏中显示进度(使用Qt)?

原文转载于:https://cloud.tencent.com/developer/ask/120278

你可以使用这个QWinTaskbarProgress类。要使用这个类,你需要添加win32:QT += winextras你的.pro文件。

下面是一个示例代码,演示如何QProgressBar在Windows任务栏中显示a的值(从此示例中得到启发):

#ifdef _WIN32    //The _WIN32 macro is automatically generated when compiling for Windows
    #include <QWinTaskbarProgress>
    #include <QWinTaskbarButton>
#endif
QProgressBar *progressBar = new QProgressBar;
progressBar->show();
#ifdef _WIN32
    QWinTaskbarButton *windowsTaskbarButton = new QWinTaskbarButton;    //Create the taskbar button which will show the progress
    windowsTaskbarButton->setWindow(progressBar->windowHandle());    //Associate the taskbar button to the progress bar, assuming that the progress bar is its own window
    QWinTaskbarProgress *windowsTaskbarProgress = windowsTaskbarButton->progress();
    windowsTaskbarProgress->show();
    QObject::connect(loadingWindow, &QProgressBar::valueChanged, [windowsTaskbarProgress](int value){
        windowsTaskbarProgress->setValue(value);   //Change the value of the progress in the taskbar when the value of the progress bar changes
    });
#endif

猜你喜欢

转载自blog.csdn.net/business122/article/details/80578501