一、利用QT资源系统可以在程序的可执行文件中嵌入二进制数据或者文本。
二、在IDE环境中直接:
》文件》新建文件或工程》文件和类》QT》QT资源文件
创建一个新的资源文件,输入名称保存后,可以看到资源文件的内容为
如果手动创建资源文件的话需要在工程文件(.pro)中添加如下信息:
RESOURCES += name.qrc
name就是要创建的资源文件的名字
三、添加前缀、添加文件
理论上QT资源文件必须至少有一个前缀,缺省时,默认前缀为"/",我们在IDE环境下双击资源文件:
》添加前缀
注意:在IDE环境下,如果不先添加前缀则无法添加文件
我们把前缀编辑栏中的内容全部删除
可以看到此时默认前缀为"/",保存文件后,资源文件的内容为
-
<RCC>
-
<qresource prefix="/"/>
-
</RCC>
这是可以向资源文件中添加资源了,在IDE环境下
》添加文件
选定文件后,可以看到
保存文件后,资源文件的内容为:
-
<RCC>
-
<qresource prefix="/">
-
<file>myqresources/images/background3.jpg</file>
-
</qresource>
-
</RCC>
在QT程序代码中可以这样引用background3.jpg
_image.load(":/myqresources/images/background3.jpg");
*.qm文件也可以被包含在资源系统中引用
四、我在一个程序中需要一个配置文件来保存用户对终端的设置信息
QSettings * iniFile = new QSettings("myetc.ini",QSettings::IniFormat);
文件myetc.ini不能够被包含在资源系统中,否则无法打开该文件(无论是在windows系统下还是linux系统下)。
在windows系统下,该配置文件会默认在
XXX-build-desktop-Qt_4_8_1_for_Desktop_-_MinGW__Qt_SDK____
目录下,如果在程序运行之前没有创建myetc.ini文件,则使用new QSettings()打开该文件并不会提示错误信息,打开之后当需要向该文件写入信息时,程序会自动在
XXX-build-desktop-Qt_4_8_1_for_Desktop_-_MinGW__Qt_SDK____
目录下生成相应的目录及文件(上面的代码中,myetc.ini是在当前目录下,所以直接生成myetc.ini文件,如果在myetc.ini前指定了目录,则会生成指定了的目录和myetc.ini文件),并写入信息。
在linux系统下,并不存在
XXX-build-desktop-Qt_4_8_1_for_Desktop_-_MinGW__Qt_SDK____
目录,所以myetc.ini文件和程序的工程文件(.pro)在同一目录下!
阅读(1887) | 评论(0) | 转发(0) |