PDA

View Full Version : No icons visible in XP System Tray or Listbox?



V4Friend
19th July 2010, 21:17
Hello Qt experts,

I have made a program that uses the QSystemTray class and a ListBox with icons (like in the System Tray Example). When I run it on Vista, all works perfectly fine. However, when I install either my program or the System Tray Example on XP, none of the icons is visible :(

The system-tray is created and even the tooltip is OK, but no icon :confused: The listbox does not show any icons either...

How can I fix this? I know XP supports tray-icons, so at least that should work?

Thanks in advance.

ChrisW67
19th July 2010, 22:48
I assume the Vista machine is your development environment Have you installed the necessary plugins with your application on the XP machine?

borisbn
20th July 2010, 04:31
Copy imageformats folder from Qt-dir near to your exe-file on XP-machine

V4Friend
20th July 2010, 11:18
I assume the Vista machine is your development environment Have you installed the necessary plugins with your application on the XP machine?

Hello Chris,

What plugins do you mean? I wasn't aware that anything else then the necessary .dll's should be installed :confused:

@borisbn: the imageformats folder? What does that do? Could you elaborate?

borisbn
20th July 2010, 12:11
images in qt (except of *.PNG) are working via plugin system, e.g. you can add your own image format to qt-application, writing dll in qt-plugin format. There are some formats, included in qt: *.ICO, *.JPG, *.BMP etc. Corresponding dlls must be in folder with name imageformats. copy this folder from %QTDIR%\plugins\imageformats\ near to your application like this


C:\MyApp\my_app.exe
C:\MyApp\imageformats

V4Friend
20th July 2010, 16:50
images in qt (except of *.PNG) are working via plugin system, e.g. you can add your own image format to qt-application, writing dll in qt-plugin format. There are some formats, included in qt: *.ICO, *.JPG, *.BMP etc. Corresponding dlls must be in folder with name imageformats. copy this folder from %QTDIR%\plugins\imageformats\ near to your application like this

Hello Boris,

Well, that works! I had to put qico4.dll and qicod4.dll in the folder imageformats.

Which leads me to another matter: I have compiled my program in Visual Studio. As a matter of fact: I can only compile 'Release', or the program crashes... When I only put qico4.dll in the folder, it did not work. I guess the qico4d.dll is actually a 'debug' version? How could that be right? :confused:

squidge
20th July 2010, 17:40
Which leads me to another matter: I have compiled my program in Visual Studio. As a matter of fact: I can only compile 'Release', or the program crashes... When I only put qico4.dll in the folder, it did not work. I guess the qico4d.dll is actually a 'debug' version? How could that be right? :confused:Yes, qico4d is debug version, you don't need for release.

V4Friend
20th July 2010, 18:42
Yes, qico4d is debug version, you don't need for release.

That's exactly what puzzels me: if I leave it out, the icons don't show :confused:
So somehow the wrong .dll is required.

How do I change that? (or should I start another thread?)

squidge
20th July 2010, 19:08
Which is the biggest file? Debug libraries are always larger than release versions as they (not suprisingly) contain debugging info.

V4Friend
20th July 2010, 19:55
Which is the biggest file? Debug libraries are always larger than release versions as they (not suprisingly) contain debugging info.

The biggest is, as expected the qicod4.dll The problem is: why does Qt need the debug-version and not the release version.
Do I have to rebuild Qt or something like that?