Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Microsoft Visual Studio: Loading resources in Qt application (without plug-in)

We don't have a Qt plug-in installed for MSVS, and it makes me wonder how/whether it is possible to load resources (images, etc) to the application.

like image 451
MadH Avatar asked Jul 31 '09 12:07

MadH


2 Answers

Yes, you can load ressources. Unfortunately, the qrc Editor which create qrc files is part of the Qt Addin for VS...
But you can create this xml file by hands, for the format see here
Once the qrc file created, you have at least two possibilities :

A) Use qmake

  1. Add a reference to your qrc file in your pro file :

    RESOURCES = ApplicationResources.qrc

  2. Regenerate your vcproj from your pro by using qmake

    qmake -tp vc

B) If you don't generate your vcproj file from your pro file, you can :

  1. Add manually your qrc file in your solution, for example in the following path :

    Resource Files/Res/ApplicationResources.qrc

  2. Add the following commands in the properties of the qrc file in visual studio :
    command line : $(QTDIR)\bin\rcc.exe -name ApplicationResources res\ ApplicationResources.qrc -o $(IntDir)\qrc__ ApplicationResources.cpp
    Description : RCC res/ApplicationResources.qrc
    Output : $(IntDir)\qrc__ ApplicationResources.cpp

C) You can also use an external binary resources file
The command line :rcc -binary myresource.qrc -o myresource.rcc

In the application, you have to register the resource file : QResource::registerResource("/path/to/myresource.rcc");

For using resource file in the source code see the doc

However, like cheez, I also suggest using qmake and pro file and do not edit properties by hand in Visual Studio...

Hope this helps !

like image 137
Matthieu Avatar answered Nov 17 '22 13:11

Matthieu


Use the qrc executable to generate a cpp file which you can include in your project:

/usr/local/Trolltech/Qt-4.5.1/bin/rcc -name core core/core.qrc -o build/release/core/qrc_core.cc

See http://doc.trolltech.com/4.0/resources.html

However, I strongly suggest using qmake or some other build system to automate this for you.

like image 26
Sohail Avatar answered Nov 17 '22 13:11

Sohail