1 Qt添加.exe程序圖標
1.1 Qt Creator添加.exe程序圖標
在網上(在線生成工具https://converticon.com/)生成一個ico圖標文件,命名為:logo.ico,將 ico文件存放至應用程序的源代碼目錄。
1.1.1 方法一
如果使用qmake來生成makefile文件,只需要在.pro中添加:
RC_ICONS = logo.ico
然后,重新生成makefile文件和應用程序,對應的.exe可執行程序的圖標就會轉變為剛才添加的圖標。
1.1.2 方法二
新建一個.rc文件,“新建文件”---“C++ source File”---命名為logo.rc(不能掉了rc后綴)。
打開logo.rc文件添加如下一行代碼。
IDI_ICON1 ICON DISCARDABLE "logo.ico"
最后在pro文件添加一行代碼
RESOURCES += \ qss.qrc #RC_ICONS = logo.ico DISTFILES += \ logo.rc RC_FILE += logo.rc
保存項目重新編譯,exe圖標和執行時window圖標都將發生變化。
1.2 Qt in VS添加.exe程序圖標
在網上(在線生成工具https://converticon.com/)生成一個ico圖標文件,命名為:temp.ico,將 ico文件存放至應用程序的源代碼目錄。
在工程根目錄下,新建一個temp.rc文件,內容如下:
IDI_ICON1 ICON DISCARDABLE "logo.ico"
修改“工程名.vcxproj”文件,在:
<?xml version="1.0" encoding="utf-8"?> <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
之后,添加
<ItemGroup> <ResourceCompile Include="temp.rc" /> </ItemGroup>
重新生成項目即可。
2 Qt添加應用程序圖標
如果只設置了可執行程序的圖標,而沒有設置窗口左上方的圖標。結果就是窗口左上方的圖標、狀態欄圖標和可執行程序圖標將使用同一個圖標。
“右鍵項目”---“添加新文件”,選擇“Qt類”---再選擇“Qt Resource File”
點擊“choose”,可得到
在“名稱”中添加資源文件名“qss”,然后點擊“下一步”,得到
點擊完成,可以看到添加的資源文件如圖所示
右鍵“qss.qrc”---“Add Prefix”
在“Prefix”中添加“Images”,指定文件夾名為“Images”,然后點擊“OK”
在應用程序的源代碼目錄中添加一個文件名為“mainWindow”的圖片文件
右鍵“Images”文件夾,點擊“添加現有文件”,選擇“mainWindow.jpg”
雙擊“MainWindow.ui”,在mainWindow的屬性欄中,選中“windowIcon”,點擊“▼”,
再點擊“選擇資源”或者“選擇文件”,點擊“Images”,再選中資源文件“mainWindow.jpg”,最后點擊“OK”。
運行程序,結果如圖
3 Qt添加按鈕圖標
3.1 Qt Creator添加按鈕圖標
在應用程序的源代碼目錄中添加一個文件名為“image”的文件夾,在里面添加一些按鈕圖標的圖片文件。
右鍵“Images”文件夾,點擊“添加現有文件”,選中所有圖標圖片文件,然后點擊“打開”
3.1.1 方法一
在構造函數中申明一個QIcon對象用來存放圖標
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); //申明一個QIcon對象用來存放圖標QIcon button_ico(":/Images/image/red");
}
按鈕對象調用setIcon()函數把圖片加載到pButton上,同時設置按鈕大小
//設置圖標、圖標大小,按鈕對象調用setIcon()函數把圖片加載到pButton上pButton->setIcon(button_ico); pButton->setIconSize(QSize(18,18));
//設置文本 pButton->setText(QString("Click Me %1").arg(i + 1));
點擊“運行”,如下圖所示
3.1.2 方法二
雙擊“MainWindow.ui”,在按鈕PushButton的屬性欄中,選中“icon”,然后再分別可以給按鈕在不同狀態,通過點擊“▼”添加相對應的圖標,可以實現圖標的切換。
3.2 Qt in VS添加按鈕圖標
VS會自動生成qrc文件:
使用默認的Qt資源編輯器打開
(可選的:將默認前綴改為/),添加資源文件
Resource URL即圖標文件路徑,使用方法:
helloQt::helloQt(QWidget *parent) : QMainWindow(parent) { ui.setupUi(this); //申明一個QIcon對象用來存放圖標QIcon button_begin_ico(":/image/begin.png"); QIcon button_green_ico(":/image/green.png");
//設置圖標、圖標大小,按鈕對象調用setIcon()函數把圖片加載到pButton上ui.pushButton->setIcon(button_begin_ico); ui.pushButton->setIconSize(QSize(30, 30));
ui.pushButton_2->setIcon(button_green_ico); ui.pushButton_2->setIconSize(QSize(30, 30)); //setFlat去除按鈕邊框 ui.pushButton->setFlat(true); ui.pushButton_2->setFlat(true); }
運行后,如圖所示
4 參考文獻
版權聲明:
本文首發於onefish51的博客(http://www.cnblogs.com/onefish51和https://blog.csdn.net/weixin_31075593),未經允許不得轉載,版權所有,侵權必究。

![clip_image002[5] clip_image002[5]](/image/aHR0cHM6Ly9pbWFnZXMyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTQxMTc2NC8yMDE4MDcvMTQxMTc2NC0yMDE4MDcyNzE2NTE0NTk4Ny0zNDY1ODEzMjIuanBn.png)
![clip_image003[4] clip_image003[4]](/image/aHR0cHM6Ly9pbWFnZXMyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTQxMTc2NC8yMDE4MDcvMTQxMTc2NC0yMDE4MDcyNzE2NTE0NjU0My0xNTAyNzczNzQyLnBuZw==.png)
![clip_image005[4] clip_image005[4]](/image/aHR0cHM6Ly9pbWFnZXMyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTQxMTc2NC8yMDE4MDcvMTQxMTc2NC0yMDE4MDcyNzE2NTE0NzEzOC03MDY5MzAwNjguanBn.png)
![clip_image007[4] clip_image007[4]](/image/aHR0cHM6Ly9pbWFnZXMyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTQxMTc2NC8yMDE4MDcvMTQxMTc2NC0yMDE4MDcyNzE2NTE0NzU0Ny05NjU2NTk1NTIuanBn.png)
![clip_image009[4] clip_image009[4]](/image/aHR0cHM6Ly9pbWFnZXMyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTQxMTc2NC8yMDE4MDcvMTQxMTc2NC0yMDE4MDcyNzE2NTE0Nzk4My02NDg5MTI2MDEuanBn.png)
![clip_image011[4] clip_image011[4]](/image/aHR0cHM6Ly9pbWFnZXMyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTQxMTc2NC8yMDE4MDcvMTQxMTc2NC0yMDE4MDcyNzE2NTE0ODUxMi0xNDY1MjAyOTk4LmpwZw==.png)
![clip_image012[4] clip_image012[4]](/image/aHR0cHM6Ly9pbWFnZXMyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTQxMTc2NC8yMDE4MDcvMTQxMTc2NC0yMDE4MDcyNzE2NTE0ODk1NS0xMTExMjM5OTMucG5n.png)
![clip_image014[4] clip_image014[4]](/image/aHR0cHM6Ly9pbWFnZXMyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTQxMTc2NC8yMDE4MDcvMTQxMTc2NC0yMDE4MDcyNzE2NTE0OTQyMy0xMDk5NjAxMjQ2LmpwZw==.png)
![clip_image016[4] clip_image016[4]](/image/aHR0cHM6Ly9pbWFnZXMyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTQxMTc2NC8yMDE4MDcvMTQxMTc2NC0yMDE4MDcyNzE2NTE0OTkyNi0xNDg0NTI1MDQyLmpwZw==.png)
![clip_image018[4] clip_image018[4]](/image/aHR0cHM6Ly9pbWFnZXMyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTQxMTc2NC8yMDE4MDcvMTQxMTc2NC0yMDE4MDcyNzE2NTE1MDM1MS0xNTA2OTcxNTQ3LmpwZw==.png)
![clip_image020[4] clip_image020[4]](/image/aHR0cHM6Ly9pbWFnZXMyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTQxMTc2NC8yMDE4MDcvMTQxMTc2NC0yMDE4MDcyNzE2NTE1MDc3OS04NTY4MjIzMjYuanBn.png)
![clip_image021[4] clip_image021[4]](/image/aHR0cHM6Ly9pbWFnZXMyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTQxMTc2NC8yMDE4MDcvMTQxMTc2NC0yMDE4MDcyNzE2NTE1MTIxNC04MjYxMDg0MjYucG5n.png)
![clip_image022[4] clip_image022[4]](/image/aHR0cHM6Ly9pbWFnZXMyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTQxMTc2NC8yMDE4MDcvMTQxMTc2NC0yMDE4MDcyNzE2NTE1MTYyNi0yMTMzNDc0MDAyLnBuZw==.png)
![clip_image023[4] clip_image023[4]](/image/aHR0cHM6Ly9pbWFnZXMyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTQxMTc2NC8yMDE4MDcvMTQxMTc2NC0yMDE4MDcyNzE2NTE1MjAzMy04NTgyMjM2Mi5wbmc=.png)
![clip_image025[4] clip_image025[4]](/image/aHR0cHM6Ly9pbWFnZXMyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTQxMTc2NC8yMDE4MDcvMTQxMTc2NC0yMDE4MDcyNzE2NTE1MjQ4Ni00Mzc5ODg2NjMuanBn.png)
![clip_image026[4] clip_image026[4]](/image/aHR0cHM6Ly9pbWFnZXMyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTQxMTc2NC8yMDE4MDcvMTQxMTc2NC0yMDE4MDcyNzE2NTE1Mjk3My0xOTI5MzQ5MTU2LnBuZw==.png)
![clip_image028[4] clip_image028[4]](/image/aHR0cHM6Ly9pbWFnZXMyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTQxMTc2NC8yMDE4MDcvMTQxMTc2NC0yMDE4MDcyNzE2NTE1MzQyNy0yMTMyNTQwNDAyLmpwZw==.png)
![clip_image029[4] clip_image029[4]](/image/aHR0cHM6Ly9pbWFnZXMyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTQxMTc2NC8yMDE4MDcvMTQxMTc2NC0yMDE4MDcyNzE2NTE1Mzg4Ny0xMjg2MTQxNjI0LnBuZw==.png)
![clip_image030[4] clip_image030[4]](/image/aHR0cHM6Ly9pbWFnZXMyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTQxMTc2NC8yMDE4MDcvMTQxMTc2NC0yMDE4MDcyNzE2NTE1NDM0OC0yNTExMjEyNTQucG5n.png)
![clip_image031[4] clip_image031[4]](/image/aHR0cHM6Ly9pbWFnZXMyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTQxMTc2NC8yMDE4MDcvMTQxMTc2NC0yMDE4MDcyNzE2NTE1NDgyNy0xMzAzMDUxNjg4LnBuZw==.png)
![clip_image032[4] clip_image032[4]](/image/aHR0cHM6Ly9pbWFnZXMyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTQxMTc2NC8yMDE4MDcvMTQxMTc2NC0yMDE4MDcyNzE2NTE1NTMxMC0xOTk3MDUxMjEyLnBuZw==.png)
![clip_image033[4] clip_image033[4]](/image/aHR0cHM6Ly9pbWFnZXMyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTQxMTc2NC8yMDE4MDcvMTQxMTc2NC0yMDE4MDcyNzE2NTE1NTc4Mi00ODc4MDMyNjUucG5n.png)
![clip_image034[4] clip_image034[4]](/image/aHR0cHM6Ly9pbWFnZXMyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTQxMTc2NC8yMDE4MDcvMTQxMTc2NC0yMDE4MDcyNzE2NTE1NjMxNy03MDA5MjA0MTAucG5n.png)
![clip_image035[4] clip_image035[4]](/image/aHR0cHM6Ly9pbWFnZXMyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTQxMTc2NC8yMDE4MDcvMTQxMTc2NC0yMDE4MDcyNzE2NTE1Njc2MC01NjU3NjczNzMucG5n.png)
![clip_image037[4] clip_image037[4]](/image/aHR0cHM6Ly9pbWFnZXMyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTQxMTc2NC8yMDE4MDcvMTQxMTc2NC0yMDE4MDcyNzE2NTE1NzE2NS0yMTI2ODYwNjU4LmpwZw==.png)
![clip_image039[4] clip_image039[4]](/image/aHR0cHM6Ly9pbWFnZXMyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTQxMTc2NC8yMDE4MDcvMTQxMTc2NC0yMDE4MDcyNzE2NTE1NzYzMC0xMzkyNzEwMjY4LmpwZw==.png)
![clip_image041[4] clip_image041[4]](/image/aHR0cHM6Ly9pbWFnZXMyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTQxMTc2NC8yMDE4MDcvMTQxMTc2NC0yMDE4MDcyNzE2NTE1ODA3OC0yMDM2NzU3Njg1LmpwZw==.png)