Icons are not visible when installing Qt application on end user machine(Windows) Why?
-
Hello,
I am junior software developer. I develop desktop applications using Qt application framework for 3 years. Currently I develop application that I putted(added) icons to it's menues' QActions, to buttons, to frames and windows, to textedit. I've created .qrc resource file and added icons from the resource file. I need to install the application on end user Windows XP(7) machine installing only .exe file and .dll libraries from the framework. When I install and launch the application on end user machine the icons are not visible, not loaded.The problem is that I have the icons visible only at the machine (OS) where I compiled and built the application and when putting the .exe file with needed .dlls(QtGui4.dll, QtCore4.dll,mingw10.dll,libgcc_s_dw2_1.dll) on the end user machine ( installation) the icons are not visible,not loaded.
I have tried to use external binary resources ( I've compiled .qrc file with rcc and putted QResource::registerResource(...) and also I have tried compiled in resources and also tried to put icons from separate files. I made all the needed according to Qt Reference Documentation - the Qt Resource System. My icons are added to to .qrc resource file.
But I see icons when I launch the application only at machine where I build the application and the icons are invisible when installing on end user machine. I build for Windows XP, 7. I also tried to install on end user machine the Qt SDK and copied my .exe file and .rcc file to directory ../Qt/2010.05/qt/bin, in such a case the icons are visible(loaded). But I don't need the users(clients) installs something else and heavy besides my .exe file and .dlls of Qt you understand.
Please help, advise what is the problem with icons ( resources ) when you will help me I'll help you too from my experience with Qt.
Pavel. -
Standard Qt SDK contains a number of plugins you may not be aware of. Check the $QTDIR/plugins directory.
What is the type of image you use? How do you reference the icons in your code? Did you use designer or do you hand code them? Did you use the correct path -- it is possible to forget the : and still have the icons in your development build due to amazingly conveniently coincidentally similarly named paths.
-
Thank you very much for your reply
I do not know did not hear that there is need for additional plugin so as to add ans see icons
I add my icons in Qt Designer, before that I add them to resource file
The path is ok while I compile and launch the application on machine when it built and I see icons in there places when I've put them while developing?
A put .exe, .rcc and dlls to end user and I see no icons? -
-
I have tried also to deploy with dlls from plugins/codecs , plugins/imageformats, plugins/iconengines but still I can't see icons
I can see only when I install full Qt SDK and I deploy to qt/bin directory
But we understand the end user should not install full Qt SDK so as to use application
why such a problem?> -
Closed thread due to duplicate post.
Please follow up in http://developer.qt.nokia.com/forums/viewthread/3909/
Crossposting is not welcome in this forum (as it is in most other sites). Accept the rules - they are well chosen, you will not change them by arguing anyways. If you need explanations: http://lmgtfy.com/?q=crossposting+bad
-
Just merged the two identical threads into one.
-
If you do not have installed the imageformat plugins correctly, your application is not able to display them (nor any other jpeg, png or ico image).
You must maintain the directory hierarchy of the plugins like in the Qt install dir and you might want to add the plugin dir to the library path (use "QCoreApplication::addLibraryPath() ":http://doc.qt.nokia.com/4.7-snapshot/qcoreapplication.html#addLibraryPath).
-
Hello
I deployed today with /plugins/imageformats folder
It works only when I deploy may application exe, main Qt dlls as I mentioned and imageformats folder on windows
Also I looked at Process Monitor output for my application and I see there that my application uses also QtSVG4.dll, QtXML4.dll but I think it is because resources are in xml format...
How can I deploy on MacOS, Ubuntu, Symbian , Maemo?
Thanks
Pavel -
[quote author="Pavel Mazniker" date="1298289603"]Hello
I deployed today with /plugins/imageformats folder
It works only when I deploy may application exe, main Qt dlls as I mentioned and imageformats folder on windows[/quote]Yes. Everyone told you exactly this.
[quote author="Pavel Mazniker" date="1298289603"]Also I looked at Process Monitor output for my application and I see there that my application uses also QtSVG4.dll, QtXML4.dll but I think it is because resources are in xml format...
[/quote]Yes.
[quote author="Pavel Mazniker" date="1298289603"]How can I deploy on MacOS, Ubuntu, Symbian , Maemo?
Thanks
Pavel[/quote]Read the docs, search the forum and wiki, ask google and come back with actual questions.
For OS X: the docs provide sufficient information.
For Ubuntu: create a deb.
For Symbian, Maemo: have a look at forum nokia and the docs for the respective platform.