<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                #(9):資源文件 上一章節中我們介紹了如何使用`QAction`添加動作。其中,我們使用`QIcon`加載了一張 png 圖片。那時候我們使用的是 Qt 資源文件。現在我們來仔細了解下 Qt 的資源系統。 Qt 資源系統是一個跨平臺的資源機制,用于將程序運行時所需要的資源以二進制的形式存儲于可執行文件內部。如果你的程序需要加載特定的資源(圖標、文本翻譯等),那么,將其放置在資源文件中,就再也不需要擔心這些文件的丟失。也就是說,如果你將資源以資源文件形式存儲,它是會編譯到可執行文件內部。 使用 Qt Creator 可以很方便地創建資源文件。我們可以在工程上點右鍵,選擇“添加新文件…”,可以在 Qt 分類下找到“Qt 資源文件”: [![](https://box.kancloud.cn/2015-12-29_5682324311d0e.png)](http://files.devbean.net/images/2012/08/qtc-qrc-create.png) 點擊“選擇…”按鈕,打開“新建 Qt 資源文件”對話框。在這里我們輸入資源文件的名字和路徑: [![](https://box.kancloud.cn/2015-12-29_5682324325fbe.png)](http://files.devbean.net/images/2012/08/qtc-qrc-name.png) 點擊下一步,選擇所需要的版本控制系統,然后直接選擇完成。我們可以在 Qt Creator 的左側文件列表中看到“資源文件”一項,也就是我們新創建的資源文件: [![](https://box.kancloud.cn/2015-12-29_5682324337d6c.png)](http://files.devbean.net/images/2012/08/qtc-qrc-ui.png) 右側的編輯區有個“添加”,我們首先需要添加前綴,比如我們將前綴取名為 images。然后選中這個前綴,繼續點擊添加文件,可以找到我們所需添加的文件。這里,我們選擇 document-open.png 文件。當我們完成操作之后,Qt Creator 應該是這樣子的: [![](https://box.kancloud.cn/2015-12-29_568232435ae36.png)](http://files.devbean.net/images/2012/08/qtc-qrc-added.png) 接下來,我們還可以添加另外的前綴或者另外的文件。這取決于你的需要。當我們添加完成之后,我們可以像前面一章講解的那樣,通過使用 : 開頭的路徑來找到這個文件。比如,我們的前綴是 /images,文件是 document-open.png,那么就可以使用`:/images/document-open.png`找到這個文件。 這么做帶來的一個問題是,如果以后我們要更改文件名,比如將 docuemnt-open.png 改成 docopen.png,那么,所有使用了這個名字的路徑都需要修改。所以,更好的辦法是,我們給這個文件去一個“別名”,以后就以這個別名來引用這個文件。具體做法是,選中這個文件,添加別名信息: [![](https://box.kancloud.cn/2015-12-29_568232437a804.png)](http://files.devbean.net/images/2012/08/qtc-qrc-alias.png) 這樣,我們可以直接使用`:/images/doc-open`引用到這個資源,無需關心圖片的真實文件名。 如果仔細觀察,還會看到資源編輯窗口最下方有一個“語言”。這個可以對資源進行國際化。比如我們新建一個前綴,將語言設置為 fr,再添加一個文件 document-open-fr.png: [![](https://box.kancloud.cn/2015-12-29_568232439ac72.png)](http://files.devbean.net/images/2012/08/qtc-qrc-lang.png) 我們可以使用`:/images/fr/doc-open`引用到 document-open-fr.png 這個文件。這個“語言”的作用是,如果 Qt 發現,本機的本地化信息是 fr 的話(`QLocale::system().name()`返回 fr_FR),則使用`:/images/fr/doc-open`這個圖片;如果不是,則默認使用`:/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++ 代碼。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看