Qt入門與提高:K02-03加點料-增加一張圖片
版權宣告
---------------------------------------------------------------------------------------------------------------------
作者: 女兒叫老白
轉載請註明出處!
---------------------------------------------------------------------------------------------------------------------
引言
----------------------------------------------------------------------------------------------------------------------
既然是介面程式設計,自然離不開圖片,比如在按鈕上使用文字太枯燥了,使用圖示是不是會更好呢?今天,我們來討論一下如何在Qt專案中使用圖片。
正文
----------------------------------------------------------------------------------------------------------------------
既然要使用圖片,自然離不開圖片啦。那麼圖片在哪裡找呢?
百度!相信是很多人的第一反應。但是您知道嗎,從網上找到的圖片,有時候用Qt進行載入會失敗(原因待查,未深究)。小編自己都是使用公司的專業美工製作的圖片。所以,最好的辦法還是請美工製作,而且這樣做就不會有版權問題啦。
那麼把圖片(大象)放到專案(冰箱)中一共分幾部呢?就像某著名演員說的一共分3步:
第一步,把圖片放到images目錄(開啟冰箱門)。
第二步,將圖片新增到xxx.qrc檔案,並將qrc檔案新增到pro(把大象放進去)
第三步,在介面、程式碼中引用圖片
我們分別來看一下。
第一步,把圖片放到images目錄:拿到需要的圖片後,我們把它放到images目錄。這個目錄屬於我們專案的子目錄,比如我們的專案的程式碼目錄為ks02_03,那麼就在這個目錄下面建立子目錄images:
ks02_03目錄
--- images(子目錄)
---原始碼1.cpp
---原始碼2.cpp
第二步,將圖片新增到xxx.qrc檔案,並將qrc檔案新增到pro。qrc是Qt的資源描述檔案,women 可以把用到的圖片在該檔案中進行描述。我們來看一下qrc檔案的格式:
程式碼清單:
----------------------------------------------------------------------------------------------------------------------
// ks02_03.qrc
<!DOCTYPE RCC><RCCversion="1.0">
<qresource>
<file>images/logo_text.png</file>
</qresource>
</RCC>
----------------------------------------------------------------------------------------------------------------------
請注意,<file>一行的內容就是我們增加的圖片,如果還有別的圖片,可以再寫一行,只是把logo_text.png換成對應的檔名即可。另外,請注意,我們使用的是相對路徑:
images/logo_text.png
images是我們已經建好的子目錄,前面無需寫其他內容。
然後,我們將ks02_03.qrc新增到pro檔案,只需要加一行:
----------------------------------------------------------------------------------------------------------------------
RESOURCES +=ks02_03.qrc
----------------------------------------------------------------------------------------------------------------------
第三步,在介面、程式碼中引用圖片。比如為文字標籤(QLabel)設定一個圖示(圖片),我們一般會在designer中選擇該按鈕,為它設定圖片:修改pixmap屬性,並設定為準備好的圖片。請注意,選擇圖片時,請用編輯框右側的"…"按鈕。
如果是在程式碼中為按鈕設定圖片,方法如下:
label->setPixmap(QPixmap(":/images/qt.png"));
請注意,描述圖片檔案路徑時,我們使用的是":/images/qt.png",要注意路徑開頭的冒號。
好了,編譯一下程式並執行起來吧。祝大家好運!
結語
----------------------------------------------------------------------------------------------------------------------
本節課,我們討論了向專案中新增圖片的方法和過程,現在我們來總結一下要點:
1, 使用圖片時,儘量請公司的美工製作。避免使用網上的圖片,有時候Qt無法識別。
2, 將圖片新增到專案一共分三步,
第一步,將圖片放到images目錄,
第二步,將圖片新增到qrc檔案並將qrc檔案新增到pro。
第三步,在介面(ui檔案)或程式碼中引用圖片。