找回密码
 立即注册
搜索
查看: 303|回复: 0

QIcon

[复制链接]

266

主题

0

回帖

1119

积分

管理员

积分
1119
发表于 2023-12-19 01:00:43 | 显示全部楼层 |阅读模式

Qt 提供的众多类库包罗万象,用起来实在是方便,QIcon 就是其中之一。

  • 支持众多的图片格式,除了常见的 ico、bmp、jpe、gif、png,还有一些其他的格式。

  • 可以通过 addFileaddPixmap 方法在加载资源时指定 Normal、Disabled、Active、Selected 四中模式以及 Off、On 两种状态对应的资源。

  • 可以通过 paintpixmap 方法在使用资源时指定使用哪种模式和状态下的资源。如果没有指定这些,QIcon 已经智能地为我们创建了默认的资源。

如何创建一个 icon ?

你无需做复杂的格式转换,只需将图片载入(嵌入软件的资源文件或磁盘上的文件等),然后随你怎么用。

QIcon(":/icon.png");

很多控件都提供了便捷的设置图标的方法,比如 setWindowIcon(const QIcon & icon)setIcon(const QIcon & icon) 等,可以将创建的 icon 直接传递给这些方法,比如:

button->setIcon(QIcon(":/icon.png"));

怎样给窗体设置 icon ?

使用 QApplication::setWindowIcon(const QIcon & icon) 可以设置应用程序所有窗体的默认图标。在某窗体中使用 QWidget::setWindowIcon(const QIcon & icon) 可以设置该窗体的图标,其优先级要高于 QApplication::setWindowIcon(const QIcon & icon)。但用这样的方法只能设置或修改程序运行时的窗体图标,不能修改可执行程序文件的图标。

怎样自定义可执行程序文件的 icon ?

在Windows下,我们可以这做:

新建一文本文件,内容为:

IDI_ICON1 ICON DISCARDABLE "./images/app.ico"

保存为 appico.rc(名字无所谓)。然后在项目文件中加入如下内容:

RC_FILE += appico.rc

RC_FILE 是 qmake 中用于为应用程序指定资源文件的。编译后可以看到 exe 程序文件的图标已经变成我们自定义的了,而且运行程序后窗体的图标也跟着变了。如果修改资源 ID IDI_ICON1IDI_ICON2 或其他文字会怎么样呢?结果是 exe 程序文件的图标还有,但是程序标题栏的图标却是默认的了。


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|棱讯科技 ( 粤ICP备2024228160号-2|粤公网安备44030002003510号 )

GMT+8, 2024-7-27 17:55 , Processed in 0.014783 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表