QT關於資源文件的添加使用

Qt 資源系統是一個跨平臺的資源機制,用於將程序運行時所需要的資源以二進制的形式存儲於可執行文件內部。如果你的程序需要加載特定的資源(圖標、文本翻譯等),那麼,將其放置在資源文件中,就再也不需要擔心這些文件的丟失。也就是說,如果你將資源以資源文件形式存儲,它是會編譯到可執行文件內部。

使用 Qt Creator 可以很方便地創建資源文件。我們可以在工程上點右鍵,選擇“添加新文件…”,可以在 Qt 分類下找到“Qt 資源文件”:

點擊“選擇…”按鈕,打開“新建 Qt 資源文件”對話框。在這裏我們輸入資源文件的名字和路徑:

點擊下一步,選擇所需要的版本控制系統,然後直接選擇完成。我們可以在 Qt Creator 的左側文件列表中看到“資源文件”一項,也就是我們新創建的資源文件:

右側的編輯區有個“添加”,我們首先需要添加前綴,比如我們將前綴取名爲 images。然後選中這個前綴,繼續點擊添加文件,可以找到我們所需添加的文件。這裏,我們選擇 document-open.png 文件。當我們完成操作之後,Qt Creator 應該是這樣子的:

接下來,我們還可以添加另外的前綴或者另外的文件。這取決於你的需要。當我們添加完成之後,我們可以像前面一章講解的那樣,通過使用 : 開頭的路徑來找到這個文件。比如,我們的前綴是 /images,文件是 document-open.png,那麼就可以使用:/images/document-open.png找到這個文件。

這麼做帶來的一個問題是,如果以後我們要更改文件名,比如將 docuemnt-open.png 改成 docopen.png,那麼,所有使用了這個名字的路徑都需要修改。所以,更好的辦法是,我們給這個文件去一個“別名”,以後就以這個別名來引用這個文件。具體做法是,選中這個文件,添加別名信息:

這樣,我們可以直接使用:/images/doc-open引用到這個資源,無需關心圖片的真實文件名。

如果我們使用文本編輯器打開 res.qrc 文件,就會看到一下內容:

<RCC>

      <qresource prefix="/images">

            <file alias="doc-open">document-open.png</file>

      </qresource>

      <qresource prefix="/images/fr" lang="fr">

            <file alias="doc-open">document-open-fr.png</file>

      </qresource>

</RCC>

我們可以對比一下,看看 Qt Creator 幫我們生成的是怎樣的 qrc 文件。當我們編譯工程之後,我們可以在構建目錄中找到 qrc_res.cpp 文件,這就是 Qt 將我們的資源編譯成了 C++ 代碼。

注意:在沒有編譯的時候res下面不會展開,只有編譯完成纔會展開文件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章