資源文件
- 1. 資源文件
- 2. 資源文件創建
1. 資源文件
資源文件顧名思義就是一個存儲資源的文件,在Qt中引入資源文件好處在于他能提高應用程序的部署效率并且減少一些錯誤的發生。
在程序編譯過程中, 添加到資源文件中的文件也會以二進制的形式被打包到可執行程序中,這樣這些資源就永遠和可執行程序捆綁到一起了,不會出現加載資源卻找不到的問題。
雖然資源文件優勢很明顯,但是它也不是萬能的,資源文件中一般添加的都是比較小的資源,比如: 圖片,配置文件,MP3 等,如果是類似視頻這類比較大的文件就不適合放到資源文件中了。
比如我們需要給某個窗口設置圖標, 代碼如下:
// 創建圖標對象
QIcon::QIcon(const QString &fileName);
// QWidget類的 公共成員函數
void setWindowIcon(const QIcon &icon);// 給窗口設置圖標
// 弊端: 發布的 exe 必須要加載 d:\\pic\\1.ico 如果當前主機對應的目錄中沒有圖片, 圖標就無法被加載
// 發布 exe 需要額外發布圖片, 將其部署到某個目錄中
setWindowIcon(QIcon("d:\\pic\\1.ico"));
我們可以使用資源文件解決上述的弊端, 這樣發布應用程序的時候直接發布exe就可以, 不需要再額外提供圖片了。
2. 資源文件創建
步驟:
-
打開資源文件
-
添加前綴/,并將資源文件放在項目文件的下級文件夾中.(一個資源文件中可以添加多個前綴, 前綴就是添加的資源在資源文件中的路徑, 前綴根據實際需求制定即可, 路徑以 / 開頭)
-
添加文件,可以設置別名alias
- 彈出以文件選擇對話框, 選擇資源文件
- 資源文件放到什么地方?放到和 項目文件 .pro 同一級目錄或者更深的目錄中.錯誤的做法: 將資源文件放到 .pro文件的上級目錄, 這樣資源文件無法被加載到
-
可以給添加的資源文件設置別名, 設置別名之后原來的名字就不能使用了.
溫馨提示:在高版本的QtCreator中, 資源文件名字或者別名不支持中文,如果設置了中文會出現編譯會報錯。 -
如何在程序中使用資源文件中的圖片?拷貝其URL即可使用
在界面設計中圖標也可以從資源中選取