最近遇到一些項目都包含了qrc文件,這個是Qt的資源文件,如果在pro文件中不包含的話,在編譯的時候會提示找不到相應資源的錯誤。
下面說一下手動修改pro和編寫qrc文件的方法。
我們直接在命令行下執行qmake –project -o <文件名>.pro 命令,會生成<文件名>.pro文件,然后用文本編輯器打開這個文件:
RESOURCES = test.qrc//添加這句,假設qrc的文件名為test
然后編寫test.qrc文件:
<!DOCTYPE RCC><RCC version="1.0">
<qresource>
<file>images/copy.png</file>
<file>images/cut.png</file>
<file>images/document.png</file>
<file>images/icon.png</file>
<file>images/new.png</file>
<file>images/open.png</file>
<file>images/paste.png</file>
<file>images/save.png</file>
</qresource>
</RCC>
然后運行qmake,接着運行nmake命令就可以了。
.qrc 文件中列出的 資源文件 是程序的源碼樹的一部分。指定的路徑是 .qrc 文件所在目錄的相對路徑。 注意,列出的 資源文件 必須位於 .qrc 文件所在 目錄或者其子目錄下。
程序中,可以用資源在源碼樹中的名稱加一個 :/ 前綴 來訪問它。例如,在程序的源碼樹中是 images/cut.png 的文件可以通過 :/images/cut.png 來訪問。
但也可以用 file 標簽中的 alias 屬性來指定:
<file alias="cut-img.png">images/cut.png</file>
這時該文件可以通過 :/cut-img.png 來訪問。
也可以在 .qrc 文件中用 qresource 標簽的 prefix 屬性:
它可以為 .qrc 文件中所有文件指定一個前綴:
<qresource prefix="/myresources">
<file alias="cut-img.png">images/cut.png</file>
</qresource>
這時該文件可以用 :/myresources/cut-img.png 訪問。
