Using resources in Qt
Article Metadata
Tested with
SDK: Qt 4.5 Garden Pre-release
Devices(s): Nokia N97
Compatibility
Platform(s): Qt
Article
Keywords: Qt, resources
Created: taaidant
(24 Nov 2009)
Last edited: hamishwillee
(11 Oct 2012)
Contents |
Overview
This snippet shows how to add and reference resources in Qt.
Preconditions
None
Using resources in Qt
QRE.pro
Add a resource file to a project file:
# Copyright (c) 2009 Nokia Corporation
TEMPLATE = app
TARGET = QRE
QT += core \
gui
SOURCES += main.cpp
# This is how the qre.qrc is added to the project.
RESOURCES += qre.qrc
qre.qrc
Add resources to a resource file:
<!-- Copyright (c) 2009 Nokia Corporation -->
<RCC>
<qresource prefix="/" >
<file>qt-logo.png</file>
</qresource>
</RCC>
qt-logo.png
main.cpp
Reference resources from the code:
/*
* Copyright (c) 2009 Nokia Corporation
*/
#include <QtGui>
#include <QApplication>
int main(int argc, char *argv[]) {
QApplication a(argc, argv);
/* QMainWindow as our window */
QMainWindow* w = new QMainWindow;
/* QFrame as our centralWidget */
QFrame* centralW = new QFrame(w);
w->setCentralWidget(centralW);
/* QVBoxLayout as our central widgets layout */
QVBoxLayout* layout = new QVBoxLayout(centralW);
centralW->setLayout(layout);
/* QLabel is used as our logo container. */
QLabel* qtLogoContainer = new QLabel;
/* QPixmap is used to load the image from resources
* defined in qre.qrc file. */
qtLogoContainer->setPixmap(QPixmap(":/qt-logo.png"));
/* To get the logo shown we need to add the container containing
* the logo to the layout. */
layout->addWidget(qtLogoContainer);
/* We'll display the window maximized. */
w->showMaximized();
/* Run till the execution ends. */
int returnValue = a.exec();
/* Flag the window to be deleted.*/
w->deleteLater();
/* Return the execution return value.*/
return returnValue;
}
Postconditions
Now you know how to add and reference resources in Qt.


