我在编译时在磁盘上有一个png文件。我想将它包含在已编译的可执行文件中。 如何在Qt中定义这样的图标?
答案 0 :(得分:9)
您基本上需要使用Qt资源系统 查看已编译资源 here。
让我们说这是你的资源文件
<!DOCTYPE RCC><RCC version="1.0">
<qresource>
<file>images/copy.png</file>
<file>images/cut.png</file>
<file>images/paste.png</file>
</qresource>
</RCC>
在您的源代码中,您现在可以通过引用资源中的图像来创建QIcons
QIcon(":/images/cut.png")
不要忘记在.pro
中引用资源文件 RESOURCES = application.qrc
This example使用资源文件中的图像作为图标
答案 1 :(得分:6)
作为Qt资源系统的替代方案,您可以使用(您最喜欢的图像转换实用程序)将.png文件转换为.xpm格式,然后将这些行添加到.cpp文件中:
#include "my_converted_image.xpm"
[...]
QPixmap myPixmap((const char **) my_converted_image_xpm);
...其中my_converted_image_xpm是在.xpm文件顶部附近声明的字符数组的名称。这是因为.xpm图像格式实际上只是C源代码,声明了一个位图的字符数组,QPixmap知道如何解析,例如:
/* XPM */
static const char * const my_converted_image_xpm[] = {
"16 16 65 1",
" c None",
". c #0F0F04",
[...]
" "};
答案 2 :(得分:0)
如果您使用的是Qt-Creator,则可以使用资源编辑器。只需创建一个新的资源文件,添加前缀并添加文件。 Qt-Creator会自动将其添加到项目文件中。之后,从您的资源中选择您的图像,然后选择您的图片