gpt4 book ai didi

c++ - QWinTaskbarProgress 我做错了什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:28:40 24 4
gpt4 key购买 nike

我按照我发现的示例使用 QWinTaskbarProgress。我在 Qt Creator (Qt 5.3.1) 中创建了一个标准的 Qt Widgets Application,我的 mainwindow.cpp 如下所示:

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);

m_taskbarButton = new QWinTaskbarButton(this);
m_taskbarButton->setWindow(windowHandle());
m_taskbarButton->setOverlayIcon(style()->standardIcon(QStyle::SP_MediaPlay));

m_taskbarProgress = m_taskbarButton->progress();
m_taskbarProgress->setVisible(true);
m_taskbarProgress->setRange(0, 100);
m_taskbarProgress->setValue(50);
}

MainWindow::~MainWindow()
{
delete ui;
}

本以为启动应用后任务栏图标会叠加显示50%进度条,结果任务栏看起来很正常,就像没写代码一样。我做错了什么?

最佳答案

事实上,它看起来像是在调用“m_taskbarButton->setWindow(windowHandle());”在 QMainWindow 构造函数中不起作用,即使在调用 setVisible(true) 或 show() 之后,QWinTaskbarProgress 也根本不会显示。

必须在窗口显示后调用它,如下所示:

void MainWindow::showEvent(QShowEvent *e)
{
#ifdef Q_OS_WIN32
m_taskbarButton->setWindow(windowHandle());
#endif

e->accept();
}

关于c++ - QWinTaskbarProgress 我做错了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25916966/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com