HowTo set Icon to Qt Application, created with Qt Visual Studio Add-in?
Question
Here is what I have:
- Visual Studio 2008 (on 32-bit Windows XP)
- Qt libraries 4.6.2 for Windows (VS 2008, 194 MB)
- Visual Studio Add-in (44 MB)
After I installed all the software, I created simple Qt Application project, with Visual Studio: menu File | New | Project... and Qt4 Projects | Qt Application.
Build it, and here is the question: how to set application icon to my compiled exe file? I need to see specified ICO in explorer!
Old method with MyProject.pro not interested!!!
Create a .ico file with both 16x16 and 32x32-pixel versions of the icon (you can do this in Visual Studio).
Create a .rc file containing the following text:
IDI_ICON1 ICON DISCARDABLE "myIcon.ico"
Add the following to your .pro file
RC_FILE = myFile.rc
Run qmake.
Thanks.
Solution
Totally, I have found the correct solution, here it is:
Preamble: You need Visual Studio Add-in already installed!
- Open Visual Studio (or Visual C++)
- Create new project from menu: File | New | Project... and select project type as Qt4 Projects and for example Qt Application from templates.
- When the first dialog window will be shown, just click Next > button twice.
And finally in Generated Class tap the Add default application icon (Windows only) checkbox.
alt text http://www.freeimagehosting.net/uploads/7f87801fb9.png
To finish process, just press Finish.
Project will create a default icon, with name {your_project_name}.ico. Replace it and have fun!
OTHER TIPS
This is what worked for me [VS2010, Qt Add-in 1.1.8], for an existing project:
As in the docs at http://doc.qt.io/qt-4.8/appicon.html :
Add icon file (myappico.ico) to source dir
Create myapp.rc file with the line
IDI_ICON1 ICON DISCARDABLE "myappico.ico"
[Of course, the file names are free to choose, as long as they are consistent]
Right-click project, choose Add | Existing item... and pick the RC file
Rebuild
From official document, it says:
If you do not use qmake, the necessary steps are: first, run the rc program on the .rc file, then link your application with the resulting .res file.
I tryed several times, it should be done like below:
1. Add an ico resource file to your project;
2. rename the file "yourappico.ico";
3. rebuild your project to generate yourapp.res file;
4. link your application with the resulting .res file.
( Projects->Properties->Linker->Input->Assembly link resource )
You could also load it in manually. Following approach works for me:
#include <QtGui/QIcon>
QIcon icon("Resources/appicon.ico");
QMainWindow *window = new QMainWindow();
window->setWindowIcon(icon);
window->show();
Put your .ico file inside the Resources-Folder of your VS-Project.
(oops, did not fully read the question, but I just leave the answer it anyway... ^^)
Right click you project on Solution Explorer and using the "Add" option include your icon in the project. It will include your icon and setup a rc file for you.