我正在使用 Qt 4.5开发一个C++程序,我想用几个资源路径配置我的资源文件( .qrc )。为此,我想添加一些子路径,但是如果我尝试在另一个目录下添加一个,这似乎是行不通的。有人知道是否可行吗? 我在the doc中什么都没有看到。

例如,这是我尝试的方法:

<RCC>
  <qresource prefix="/path1">
    <qresource prefix="subpath1">
      <file alias="file1">...</file>
    </qresource>
    <qresource prefix="subpath2">
      <file alias="file2">...</file>
    </qresource>
  </qresource>
</RCC>

然后尝试以这种方式访问​​它不起作用(对象为空):
QImage(":/path1/subpath1/file1")

请注意,我已经尝试使用“/ subpath1”而不是“subpath1”更改qrc文件,而没有任何效果。

最佳答案

Qt资源文件中的路径是人工构造,因此您需要手动明确定义路径结构(与xml结构相对):

<RCC>
    <qresource prefix="/path1"/>
    <qresource prefix="/path2">
        <file>style.css</file>
    </qresource>
    <qresource prefix="/path1/subpath">
        <file>substyle.css</file>
    </qresource>
</RCC>

10-08 06:54