QSystemTrayIcon仅显示占位符而不是真实图标

时间:2015-06-25 16:08:35

标签: c++ qt

下面我的代码显示了图标,但它似乎是空的,没有任何内容。如果我将鼠标光标移动到系统托盘中的预期图标位置(最后一个),那么它就在那里,但它没有显示真实的图标。它更像是图标的占位符。

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

1 个答案:

答案 0 :(得分:0)

我不知道为什么股票图标不起作用,但这是一个语法和qmake问题。我的路径为":/icons/file.ico""icons/file.ico"。正确的语法如下,否则它将不显示实际的图标。我也必须运行qmake'显然需要将新图标添加到qrc,因为即使语法正确,问题仍然存在。

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