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),未经允许不得转载,版权所有,侵权必究。

posted @ 2018-07-27 16:52  onefish51  阅读(25317)  评论(0编辑  收藏  举报