QSystemTrayIcon只显示占位符,而不显示真正的图标

QSystemTrayIcon shows only place holder and not the real icon

本文关键字:显示 图标 占位符 QSystemTrayIcon      更新时间:2023-10-16

我下面的代码会显示图标,但它就像是空的,里面什么都没有。如果我把鼠标光标移到系统托盘中预期的图标位置(最后一个)上,它就在那里,但不会显示真正的图标。它更像是图标的占位符。

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    systemTray = new QSystemTrayIcon();
    systemTray->setIcon( QIcon::fromTheme("edit-undo") ); // stock icon but I have tried use local icon file too with same result
    systemTray->setVisible( true ); // extra insurance
    systemTray->show();
}

我做错了什么?我使用的是Qt 5.4和Windows 7

我不知道为什么股票图标不起作用,但这是一个语法和qmake问题。我将路径指定为":/icons/file.ico""icons/file.ico"。正确的语法如下,否则将不会显示实际的图标。此外,当qrc中添加新图标时,我不得不"运行qmake",因为即使语法正确,问题仍然存在。

systemTray->setIcon( QIcon(":icons/file.ico") );