http://blog.csdn.net/robin7513/archive/2010/03/22/5403991.aspx
最近在一个程序中使用了系统托盘图标(systemtray),用于提示信息和快捷操作,感觉不错。
但是,在使用的过程中发现了一个问题,这个问题在开发阶段很难体现,所以记录一下。
问题描述:
首我开发的时候没有任何问题,等到开发完成后,我把程序发到其他的机器上运行。这时候发现:其他的程序功能都是对的,但是系统托盘图标隐身了!(其他的系统托盘图标功能例如:提示、菜单....一切OK)。当时我的另一台电脑上装了另一个版本的QT,我想会不会是编译的问题,于是重新编译。这时就可以正常显示了。为了验证只是编译的问题,我找了一台没有装QT的电脑测试,发现还是没有显示。难道是图片的问题?换了图片后,还是一样的问题...于是推测:能显示的电脑都是装了QT的,是不是有某些信息是通过环境参数实现的。而且这和版本是要一一对应的。
解决方法:
到网上搜,有人遇到了这个问题。程序中默认只支持png图片,如果使用了gif,jpg等格式的文件是显示不出来的。需要将Qt目录中C:/Qt/2010.02.1/qt/plugins/imageformats文件夹了的对应插件程序一起发布使用。同时还发现,虽然可以只单独使用特定格式的插件,但是使用时需要在程序当前目录下建立imageformats文件夹(直接使用的方法正在研究中....)