Qt中使用qrc管理和使用资源文件
2014-01-16 19:31
330 查看
qrc资源文件一直有点搞不清楚,特别是前缀,到底加什么,讲的不太清楚,我的项目也因此搞的很乱.现在总结一下.
1. 比如qss资源文件,我在Resources文件夹下新增一个qss.qrc文件,这个文件会自动添加到pro文件中(?我好像自己添加进去的).
RESOURCES += res.qrc
2. 在Resources文件夹再新建几个要用到的目录qss用于放置需要用到的qss文件如test.qss.
3. 打开qss.qrc文件,添加前缀 /qss, 再添加文件 qss/test.qss.
4. 在代码中使用如下代码即可使用相应的qss文件设置相应的qss.
//set qss
QFile file(":/qss/qss/test.qss");
file.open(QFile::ReadOnly);
setStyleSheet(file.readAll());
附上别人对qrc的解释
qrc是一个xml格式的资源配置文件,与应用程序关联的应用程序由 .qrc 文件来指定,它用XML记录硬盘上的文件和对应的随意指定的资源名称,应用程序通过资源名称来访问资源。
指定的路径是 .qrc 文件所在目录的相对路径。注意,列出的资源文件必须位于 .qrc 文件所在目录或者其子目录下。
图标文件需要与qrc文件位于同一目录下或者在该目录的子目录中。另外,如果qrc文件中使用了前缀(例如<qresource prefix="/myresources">),要确保图标路径正确无误;使用Qt designer添加图标文件时就是自动使用前缀/new/prefix的,但是该路径默认不存在。
应用程序中,绝大多数地方都可以用资源路径代替原始文件系统路径。尤其是在 QIcon, QImage,
or QPixmap 构造器中可以传递资源路径来代替文件名称:
cutAct =new QAction(QIcon(":/images/cut.png"), tr("Cu&t"),this);
在QtCreater中创建qrc文件的方法:
添加新文件—Qt—Qt资源文件
可以使用多种方法对其进行编辑,在资源编辑器中编辑时,首先要设置一个前缀,即在该qrc文件下的相对路径,如果与该qrc文件在相同的文件夹中,就只需要将前缀设为/即可。然后将设置的路径下自己需要的文件添加进来,在引用的时候只需要使用:符号即可(例如newAction->setIcon(QIcon(":/filenew.png"));)。
1. 比如qss资源文件,我在Resources文件夹下新增一个qss.qrc文件,这个文件会自动添加到pro文件中(?我好像自己添加进去的).
RESOURCES += res.qrc
2. 在Resources文件夹再新建几个要用到的目录qss用于放置需要用到的qss文件如test.qss.
3. 打开qss.qrc文件,添加前缀 /qss, 再添加文件 qss/test.qss.
4. 在代码中使用如下代码即可使用相应的qss文件设置相应的qss.
//set qss
QFile file(":/qss/qss/test.qss");
file.open(QFile::ReadOnly);
setStyleSheet(file.readAll());
附上别人对qrc的解释
qrc是一个xml格式的资源配置文件,与应用程序关联的应用程序由 .qrc 文件来指定,它用XML记录硬盘上的文件和对应的随意指定的资源名称,应用程序通过资源名称来访问资源。
指定的路径是 .qrc 文件所在目录的相对路径。注意,列出的资源文件必须位于 .qrc 文件所在目录或者其子目录下。
图标文件需要与qrc文件位于同一目录下或者在该目录的子目录中。另外,如果qrc文件中使用了前缀(例如<qresource prefix="/myresources">),要确保图标路径正确无误;使用Qt designer添加图标文件时就是自动使用前缀/new/prefix的,但是该路径默认不存在。
应用程序中,绝大多数地方都可以用资源路径代替原始文件系统路径。尤其是在 QIcon, QImage,
or QPixmap 构造器中可以传递资源路径来代替文件名称:
cutAct =new QAction(QIcon(":/images/cut.png"), tr("Cu&t"),this);
在QtCreater中创建qrc文件的方法:
添加新文件—Qt—Qt资源文件
可以使用多种方法对其进行编辑,在资源编辑器中编辑时,首先要设置一个前缀,即在该qrc文件下的相对路径,如果与该qrc文件在相同的文件夹中,就只需要将前缀设为/即可。然后将设置的路径下自己需要的文件添加进来,在引用的时候只需要使用:符号即可(例如newAction->setIcon(QIcon(":/filenew.png"));)。
相关文章推荐
- Qt creator 5.1中文乱码现象
- VS2012+OpenCV2.4.6+Qt5.2.0环境配置+实例程序
- Qt之打包发布(NSIS详解)
- QTP添加新的action中之对象库的关联
- QTP连接MySQL
- qt creator 调试器未设置
- 十、Qt的国际化支持
- Qt对话框--QMessageBox!!!
- Qt5.2加载百度地图进行相关操作
- qt excel的简单操作
- 初学者的checklist:对于QTP,你应该知道的9个基本概念
- Qt 数据库登录提示类似出现非法字符集错误的问题
- qtp descriptive programming multiple language(多语言支持)
- Qt ListView 刷新数据
- Qt Label show Images
- qt静态编译时无法加载数据库插件
- qt-4.7.2的arm版本安装方法
- Windows下搭建QT+GStreamer开发环境
- Qt模块化笔记之Qt Widgets——日历类
- qt 用 QProcess 类启动 mplayer