Qt 常用类 (8)—— QIcon

QIcon 类代表图标,实现在 QtGui 共享库中。QIcon 对象可以认为是一系列图像的组合,每个图像代表窗口在某种状态下应该1显示的图标。
QIcon 类支持以下构造函数:

QIcon();                          // 构造一个空图像构成的图标
QIcon(const QPixmap &pixmap);     // 从 Pixmap 对象构造函数
QIcon(const QString &filename);   // 从图像文件构造图标

当从 QPixmap 对象构造图标时,系统会自动产生窗口不同状态下对应的图像,比如窗口在禁用状态下其图标为灰色。从文件构造图标时,文件并不是立刻加载,而是当图标要显示时才加载。

添加图像
下面的成员函数可以从图像文件中向 QIcon 对象添加图像:

void addFile(const QString &filename, const QSize &size = QSize(), Mode mode = Normal, State state = Off);

其中各个参数的含义解释如下。

     1)filename:文件名。

     2)size:指定大小。

     3)mode:指定使用模式,即窗口在何种状态下使用这个图像。

     4)state:指定使用状态。


     Mode 为 QIcon 类的成员类型,有以下取值。

     1)QIcon::Normal:窗口为使能状态,但未激活。

     2)QIcon::Disabled:窗口为禁用状态。

     3)QIcon::Active:窗口为激活状态。

     4)QIcon::Selected:窗口被选中。

例如:

QIcon icon;
icon.addFile(QString::fromUtf8(":/AlPlannedCheck/Images/okay.png"), QSize(), QIcon::Normal, QIcon::Off);

当窗口的状态切换时,默认的图标绘制函数会自动根据窗口的状态重绘图标。如果窗口还有所谓的开关状态(比如一个按钮可以有按下和弹起两个状态),则还可以根据 state 参数来选择不同的图像。state 参数为 State 类型,这也是一个 QIcon 类的成员类型,它有以下取值。

     QIcon::Off:窗口在关状态。

     QIcon::On:窗口在开状态。

另外一个成员函数可以直接将 QPixmap 对象添加到 QIcon 对象中:

void addPixmap(const QPixmap &pixmap, Mode mode = Normal, State state = Off);

以下成员函数可以判断 QIcon 对象是否为空图像构成的图标:

bool isNull() const;     // 判断是否为空图像构成的图标
posted @   小徐的小菜园  阅读(457)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· 单线程的Redis速度为什么快?
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
点击右上角即可分享
微信分享提示