【问题标题】:QSystemTrayIcon shows only place holder and not the real iconQSystemTrayIcon 仅显示占位符而不显示真实图标
【发布时间】:2015-06-25 16:08:34
【问题描述】:

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

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

【问题讨论】:

  • 您的 Qt 版本、桌面环境、操作系统?
  • @VictorPolevoy 刚刚更新了帖子,5.4
  • 你试过系统图标的例子吗?
  • 在这里查找:C:\Qt\Examples\Qt-5.4\widgets\desktop\systray 由于某种原因,他们停止在网上列出它,并在他们的示例中在欢迎选项卡中列出。
  • 对于图标和图像,将图像添加为 qt 资源文件并以这种方式引用 url 往往非常健壮。

标签: c++ qt


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-04
    • 2021-11-28
    • 2021-05-21
    • 1970-01-01
    • 2014-05-12
    相关资源
    最近更新 更多