读书人

托盘图标无法显示

发布时间: 2012-03-24 14:00:46 作者: rapoo

求助,托盘图标无法显示
平台:Ubuntu 10.10
qt: Qt 4.5.1

设置托盘图标后,无法显示正常图标,显示为一黑色块,如下图


代码:

C/C++ code
MainWindow::MainWindow(){……    QIcon icon("./icon.png");    trayIcon = new QSystemTrayIcon(this);    trayIcon->setContextMenu(trayIconMenu);    trayIcon->setIcon(icon);    trayIcon->show();    setWindowIcon(icon);}


为什么会这样呢?


[解决办法]
你的托盘图标调用错了,程序启动时找不到这张图片。
应该把icon.png加入到资源文件中,如果资源文件中其前缀为/images,那么正确的做法应当是
QIcon(":/images/icon.png");
如果不编入资源文件,程序必须与图片在同一文件夹内才能找得到
[解决办法]
应该是楼主的图片存放位置的问题,如果以资源文件的形式实现则是将其一块编译在可执行文件中,如果直接在程序中使用的话就应该指明正确的路径。
[解决办法]
给你看下windows下的用法。。linux下文件路径可能有点差别。还有如2楼所说。把东西加到资源文件夹里
//创建并设置托盘图标
trayIcon = new QSystemTrayIcon(this);
trayIcon->setContextMenu(trayIconMenu);
trayIcon->setIcon(QIcon(":/icons/shutdown01.png"));

//显示系统托盘图标
trayIcon->show();
[解决办法]
首先要把icon.png加入到工程当中来,也就是那个.qrc文件中,然后编译,“QIcon icon("./icon.png");”路径不对应该是“image/image/icon.png”(加入你的qrc和文件夹都建的是image目录),还显示不出来的话,也许是你的图片有问题,也许是被人不正确编辑过的

[解决办法]
楼主搞定没

楼上的放qrc,对QT来说是正解,但一定要确认路径。你在qcreator里打开qrc文件,里面看到的路径前加:号即可。


还有标准Linux做法, 图标放在/usr/share/icons/youapp/icons/下,肯定没问题,也要根据需要随时换图标。

Good Luck

读书人网 >QT开发

热点推荐