Qt中使用qrc管理和使用资源文件

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文件中使用了前缀(例如),要确保图标路径正确无误;使用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)