Qt和Visual Studio.托盘图标消失



我在Visual Studio中使用Qt,我需要在应用程序中设置一个托盘图标。我使用下一个代码:

QSystemTrayIcon trayIcon = new QSystemTrayIcon(this);
QIcon trayImage(":/Res/myIcon.ico");
trayIcon->setIcon(trayImage);
trayIcon->setContextMenu(trayIconMenu);
trayIcon->show();

我的qrc文件:

<RCC>
    <qresource prefix="/">
        <file>Res/myIcon.ico</file>
    </qresource>
</RCC>

它起作用了。但是当我将我的应用程序移动到另一台计算机时,它失败了,错误是"此应用程序无法启动,因为它无法找到或加载Qt平台插件'windows'"。我通过在带有执行文件的目录中创建目录"平台"并将qwindows.dll放入其中来解决这个问题。但在那之后,这个图标就消失了。我在托盘里只看到一块空白的方块。我可以使用托盘图标操作,但我的图像不显示。

在将Qt应用程序部署到其他机器时,还需要为所需的图像格式部署插件。在您的情况下,您必须创建imageformats目录并复制qico.dll插件(可以在Qt SDK目录中找到)。

尽管如此,我还是建议使用PNG格式的托盘图标,因为它具有更好的可移植性。

我读了QIcon类的描述,在那里你可以找到链接到支持的格式QImageReader::supportedImageFormats(),没有.ico格式。

我不确定,但可能这是你的问题的根源。

您应该使用qt中支持的图像格式之一。例如,如果您使用。png格式,它将显示。

相关内容

  • 没有找到相关文章

最新更新