Chinaunix首页 | 论坛 | 博客
  • 博客访问: 153029
  • 博文数量: 40
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 410
  • 用 户 组: 普通用户
  • 注册时间: 2014-02-11 09:11
文章分类

全部博文(40)

文章存档

2020年(1)

2017年(36)

2014年(3)

我的朋友

分类: C/C++

2017-03-17 14:17:43

一、利用QT资源系统可以在程序的可执行文件中嵌入二进制数据或者文本。
二、在IDE环境中直接:
    》文件》新建文件或工程》文件和类》QT》QT资源文件
    创建一个新的资源文件,输入名称保存后,可以看到资源文件的内容为
    
    如果手动创建资源文件的话需要在工程文件(.pro)中添加如下信息:
    RESOURCES += name.qrc 
    name就是要创建的资源文件的名字
三、添加前缀、添加文件
    理论上QT资源文件必须至少有一个前缀,缺省时,默认前缀为"/",我们在IDE环境下双击资源文件:
    》添加前缀
    
    
    注意:在IDE环境下,如果不先添加前缀则无法添加文件
    我们把前缀编辑栏中的内容全部删除
    
    
    可以看到此时默认前缀为"/",保存文件后,资源文件的内容为

点击(此处)折叠或打开

  1. <RCC>
  2.     <qresource prefix="/"/>
  3.     </RCC>

    这是可以向资源文件中添加资源了,在IDE环境下
    》添加文件
    选定文件后,可以看到
    
    保存文件后,资源文件的内容为:

点击(此处)折叠或打开

  1. <RCC>
  2. <qresource prefix="/">
  3. <file>myqresources/images/background3.jpg</file>
  4. </qresource>
  5. </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)在同一目录下!
阅读(1862) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~