Qt添加圖標


 

1 Qt添加.exe程序圖標

1.1 Qt Creator添加.exe程序圖標

在網上(在線生成工具https://converticon.com/)生成一個ico圖標文件,命名為:logo.ico,將 ico文件存放至應用程序的源代碼目錄。

clip_image002[5]

1.1.1 方法一

如果使用qmake來生成makefile文件,只需要在.pro中添加:

RC_ICONS = logo.ico

然后,重新生成makefile文件和應用程序,對應的.exe可執行程序的圖標就會轉變為剛才添加的圖標。

clip_image003[4]

1.1.2 方法二

新建一個.rc文件,“新建文件”---“C++ source File”---命名為logo.rc(不能掉了rc后綴)。

clip_image005[4]

打開logo.rc文件添加如下一行代碼。

IDI_ICON1 ICON DISCARDABLE "logo.ico"

clip_image007[4]

最后在pro文件添加一行代碼

RESOURCES += \
qss.qrc
#RC_ICONS = logo.ico
DISTFILES += \
logo.rc
RC_FILE += logo.rc

保存項目重新編譯,exe圖標和執行時window圖標都將發生變化。

clip_image009[4]

1.2 Qt in VS添加.exe程序圖標

在網上(在線生成工具https://converticon.com/)生成一個ico圖標文件,命名為:temp.ico,將 ico文件存放至應用程序的源代碼目錄。

clip_image011[4]

在工程根目錄下,新建一個temp.rc文件,內容如下:

IDI_ICON1 ICON DISCARDABLE "logo.ico"

clip_image012[4]

修改“工程名.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>

clip_image014[4]

重新生成項目即可。

2 Qt添加應用程序圖標

如果只設置了可執行程序的圖標,而沒有設置窗口左上方的圖標。結果就是窗口左上方的圖標、狀態欄圖標和可執行程序圖標將使用同一個圖標。

“右鍵項目”---“添加新文件”,選擇“Qt類”---再選擇“Qt Resource File”

clip_image016[4]

點擊“choose”,可得到

clip_image018[4]

在“名稱”中添加資源文件名“qss”,然后點擊“下一步”,得到

clip_image020[4]

點擊完成,可以看到添加的資源文件如圖所示

clip_image021[4]

右鍵“qss.qrc”---“Add Prefix”

clip_image022[4]

在“Prefix”中添加“Images”,指定文件夾名為“Images”,然后點擊“OK”

clip_image023[4]

在應用程序的源代碼目錄中添加一個文件名為“mainWindow”的圖片文件

clip_image025[4]

右鍵“Images”文件夾,點擊“添加現有文件”,選擇“mainWindow.jpg”

clip_image026[4]

雙擊“MainWindow.ui”,在mainWindow的屬性欄中,選中“windowIcon”,點擊“▼”,

clip_image028[4]

再點擊“選擇資源”或者“選擇文件”,點擊“Images”,再選中資源文件“mainWindow.jpg”,最后點擊“OK”。

clip_image029[4]

運行程序,結果如圖

clip_image030[4]

3 Qt添加按鈕圖標

3.1 Qt Creator添加按鈕圖標

在應用程序的源代碼目錄中添加一個文件名為“image”的文件夾,在里面添加一些按鈕圖標的圖片文件。

clip_image031[4]

右鍵“Images”文件夾,點擊“添加現有文件”,選中所有圖標圖片文件,然后點擊“打開”

clip_image032[4]

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));

點擊“運行”,如下圖所示

clip_image033[4]

3.1.2 方法二

雙擊“MainWindow.ui”,在按鈕PushButton的屬性欄中,選中“icon”,然后再分別可以給按鈕在不同狀態,通過點擊“▼”添加相對應的圖標,可以實現圖標的切換。

clip_image034[4]

3.2 Qt in VS添加按鈕圖標

VS會自動生成qrc文件:

clip_image035[4]

使用默認的Qt資源編輯器打開

clip_image037[4]

(可選的:將默認前綴改為/),添加資源文件

clip_image039[4]

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);
}

運行后,如圖所示

clip_image041[4]

4 參考文獻

Qt之設置應用程序圖標

QT5.5應用程序圖標、exe圖標設置

Qt中為工程添加資源文件、給按鈕添加圖片

版權聲明:

本文首發於onefish51的博客(http://www.cnblogs.com/onefish51https://blog.csdn.net/weixin_31075593),未經允許不得轉載,版權所有,侵權必究。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM