您的位置:首页 > 移动开发

How to embed an icon in a Qt application

2015-09-21 15:50 417 查看
This approach holds for any type of an external file that needs to be embedded in an executable, such as an image (icon), a text file containing help etc. The embedding is accomplished by creating a Qt resource collection file *.qrc that lists the files
that will become the part of the application source tree.

Qt4 or Qt5 compatible
qtresourceexample/mainwindow.h
qtresourceexample/mainwindow.cpp
qtresourceexample/main.cpp
qtresourceexample/qtresourceexample.qrc
qtresourceexample/icons/alignLeft.png
qtresourceexample/qtresourceexample.pro (Qt 4 compatible)
qtresourceexample/qtresourceexample.pro (Qt 5 compatible)

I am going to demonstrate the problem on an icon alignLeft.png that needs to be embedded in an application. To achieve the embedding we need to perform the following steps in Qt Creator:

In the project folder create a folder 'icons'. Place 'alignLeft.png' into the folder 'icons'.
To create a resource file: Right-click on the highlighted project -> Add New -> Qt -> Qt Resource file. Name the resource file 'qtresourceexample.qrc'.
To edit the resource file: Right-click on qtresourceexample.qrc -> Open With -> Plain Text Editor. Enter the following lines into the resource file:

<!DOCTYPE RCC><RCC version="1.0">
<qresource>
<file>icons/alignLeft.png</file>
</qresource>
</RCC>


Finally, check whether the resource file appeared in the *.pro file.
SOURCES += \
main.cpp \
mainwindow.cpp

HEADERS += \
mainwindow.h

RESOURCES += \
qtresourceexample.qrc


In the code we refer to the icon in the following way:
alignLeftAction->setIcon(QIcon(":/icons/alignLeft.png"));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: