Qt 常用类 (8)—— QIcon
来源:互联网 发布:小米网络短信设置 编辑:程序博客网 时间:2024/05/22 04:31
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:窗口被选中。
当窗口的状态切换时,默认的图标绘制函数会自动根据窗口的状态重绘图标。如果窗口还有所谓的开关状态(比如一个按钮可以有按下和弹起两个状态),则还可以根据 state 参数来选择不同的图像。state 参数为 State 类型,这也是一个 QIcon 类的成员类型,它有以下取值。
QIcon::Off:窗口在关状态。
QIcon::On:窗口在开状态。
另外一个成员函数可以直接将 QPixmap 对象添加到 QIcon 对象中:
void addPixmap(const QPixmap &pixmap, Mode mode = Normal, State state = Off);
这里的 pixmap 参数是要添加的 QPixmap 对象,mode 参数和 state 参数的含义与 addFile 函数中相同。
获取图像
下面的成员函数可以获取 QIcon 对象中的图像:
QPixmap pixmap(const QSize &size, Mode mode = Normal, State state = Off) const;
其中参数 size 是指定的大小,参数 mode 和 state 则是使用模式和状态。这个函数还有以下重载版本:
QPixmap pixmap(int w, int h, Mode mode = Normal, State state = Off) const;QPixmap pixmap(int extent, Mode mode = Normal, State state = Off) const;
它们分别等价于以下的函数调用:
pixmap(QSize(w, h), mode, state);pixmap(QSize(extent,, extent), mode, state);
注意返回的图像大小可能比指定的小,但不会比指定的大。
判断
以下成员函数可以判断 QIcon 对象是否为空图像构成的图标:
bool isNull() const; // 判断是否为空图像构成的图标
- Qt 常用类 (8)—— QIcon
- Qt 常用类 (8)—— QIcon
- Qt 常用类 (9)—— QIcon
- Qt常用类QIcon
- Qt 常用类 (7)QPixmap/8--QIcon
- Qt实用技巧:QIcon缩放(QPixmap的手动放大和QIcon自动缩小)
- Qt QIcon图标不显示
- Qt QIcon图标不显示
- QIcon
- Qt 常用类 (8)—— QPainter
- Qt常用类(2) —— QChar类
- Qt常用类(1)—— 开端
- Qt 常用类(3)—— QString
- Qt 常用类(5)—— QSize
- Qt 常用类 (4)—— QPoint
- Qt 常用类 (6) —— QFont
- Qt 常用类 (7)—— QPixmap
- Qt 常用类 (9)—— QWidget
- 【java】在Linux上apache2.2+tomcat6的整合
- Visual Studio 2010/WIN7配置openGL
- Ubuntu,Windows多系统启动顺序设置
- Android如何解析json数组对象
- linux非正常关机无法启动
- Qt 常用类 (8)—— QIcon
- 预处理,果然是预处理----小话c语言(5)
- 初识LazyPHP3!
- 【oracle】在Linux上安装Oracle
- 设计模式之模板方法模式
- 九中算法思想及其应用举例
- java正则表达式彻底研究
- Android测试教程(4):测试相关API
- 面向接口编程和面向实现编程