qrc文件我的理解
qrc文件是Qt的资源文件,格式为xml
qrc文件中文件路径为,实际资源与qrc文件的相对路径。并且这个相对的路径关系是不能改变的。
另外,qrc文件允许在前一组资源前添加一个前缀(类似目录)
基于以上
qrc应该与其包含的资源文件在同一级目录中(至少是与这些资源的根同级)
这样可以最大程度的发挥前缀的灵活性,对资源进行区分的调配。
重名覆盖的问题
在同一个pro文件中,同名且同相对路径的qrc文件在生成cpp文件时会彼此覆盖,并导致内容丢失,但并不报错。
举例:
app.pro 中指定了qrc/app.qrc文件,同时也包含了另一个目录的gui.pri 文件
gui.pri在自己目录树中也有qrc/app.qrc
这也就实际在app.pro中包含了两个app.qrc,相对路径相同,但绝对路径不同。
实际转换时,会在obj目录中生成同一个qrc_app.cpp ,彼此覆盖,前一个生成的内容丢失。