爲了方便跨平臺使用,Qt提供了一個資源系統。資源系統用於將程序運行時所需要的資源以二進制的形式存儲於可執行文件內部。也就是把資源文件編譯成爲可執行文件的一部分。這樣就不怕路徑問題以及資源文件被誤刪。
在這裏先分享一個免費獲取圖標的網站:https://www.iconfinder.com/
好了,下面來演示如何創建資源文件。
首先,打開文件菜單,選擇新建一個項目或者文件,選擇下圖所示的資源文件。
如果是在做項目開發,那麼前綴表示你之後需要添加哪一類的資源文件。例如你命名爲file,然後就添加和文件有關的,比如打開文件圖標,關閉文件圖標,新建文件圖標。要保證前綴的意義。
做完這一步,會看到多了個/文件夾。
然後就可以點擊Add Files添加文件了。
如果你的資源文件沒有放在當前項目下,它可能會提示你是否複製資源文件到當前項目下。最好是複製到當前項目下。
別名的作用是我們如果修改了資源文件的文件名,但是我們使用別名來引用資源文件,那麼將不會造成錯誤。用別名可以保證你即使修改了文件名,也不會出錯。
資源文件添加好以後,我們就可以使用資源文件了。資源文件的路徑我們可以這樣獲取:右鍵文件,然後點擊下圖所示:
這就是它的路徑,當然通過觀察我們就會發現,實際上這個路徑就是——冒號+前綴+文件名
那我們在代碼中設置兩個圖標來看看。
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QIcon>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
//設置圖標,使用資源文件。
ui->actionOpen->setIcon(QIcon(":/Icon/Open.png"));
ui->actionNew->setIcon(QIcon(":/Icon/New.png"));
}
MainWindow::~MainWindow()
{
delete ui;
}
這次我們在創建項目的時候使用了ui文件,因此快速的創建了一些對象。我們在代碼裏設置了atcionOpen和actionNew的圖標。運行結果如下所示:
實際上資源文件會被編譯成爲cpp文件的。可以在項目下看的,確實是會被編譯成爲二進制文件的。
當然了ui文件也會被編譯成爲cpp文件,如下所示:
關於資源文件,就介紹這麼多了。