Qt 常用类 (7)QPixmap/8--QIcon

来源:互联网 发布:美工需要会什么软件 编辑:程序博客网 时间:2024/05/16 09:01

http://blog.csdn.net/hmsiwtv/article/details/7561565


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


       构造

       QIcon 类支持以下构造函数:

[plain] view plaincopy
  1. QIcon();                                     // 构造一个空图像构成的图标  
  2. QIcon(const QPixmap &pixmap);     // 从 Pixmap 对象构造函数  
  3. QIcon(const QString &filename);     // 从图像文件构造图标  

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


        

        添加图像

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

[plain] view plaincopy
  1. 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 对象中:

[plain] view plaincopy
  1. void addPixmap(const QPixmap &pixmap, Mode mode = Normal, State state = Off);  

         这里的 pixmap 参数是要添加的 QPixmap 对象,mode 参数和 state 参数的含义与 addFile 函数中相同。



         获取图像

         下面的成员函数可以获取 QIcon 对象中的图像:

[plain] view plaincopy
  1. QPixmap pixmap(const QSize &size, Mode  mode = Normal, State state = Off) const;  

         其中参数 size 是指定的大小,参数 mode 和 state 则是使用模式和状态。这个函数还有以下重载版本:

[plain] view plaincopy
  1. QPixmap pixmap(int w, int h, Mode mode = Normal, State state = Off) const;  
  2. QPixmap pixmap(int extent, Mode mode = Normal, State state = Off) const;  

         它们分别等价于以下的函数调用:

[plain] view plaincopy
  1. pixmap(QSize(w, h), mode, state);  
  2. pixmap(QSize(extent,, extent), mode, state);  

         注意返回的图像大小可能比指定的小,但不会比指定的大。  


         

         判断

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

[plain] view plaincopy
  1. bool isNull() const;     // 判断是否为空图像构成的图标  


、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、




      QPixmap 类代表图像,实现在 QtGui 共享库中。

      构造

      以下构造函数生成的 QPixmap 对象为空图像:

[plain] view plaincopy
  1. QPixmap();     // 构造一个大小为 0 的空图像  

      以下构造函数生成大小的 QPixmap 对象,但图像数据未初始化:

[plain] view plaincopy
  1. QPixmap(const QSize &size);     // 构造大小为 size 的图像,图像数据未初始化  
  2. QPixmap(int width, int height);    // 等价于 QPixmap(QSize(width, height));  

      以下构造函数能够从指定的文件中加载图像并生成 QPixmap 对象:

[plain] view plaincopy
  1. QPixmap(const QString &filename, const char *format = 0, Qt::ImageConversionFlags flags = Qt::AutoColor);  

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

      1) filename: 文件名。

      2) format: 字符串,表示图像文件的格式,如果为 0,将进行自动识别。

      3) flags:表示颜色的转换模式。


       如果图像文件加载失败则产生空图像,这里 flags 参数有以下取值。

       1) Qt::AutoColor:由系统自动决定。

       2) Qt::ColorOnly:彩色模式。

       3) Qt::MonoOnly:单色模式。


       

       图像参数

       以下成员函数可以获得 QPixmap 对象所表示的图像的相关信息:

[plain] view plaincopy
  1. int depth() const;     // 颜色深度,既每像素所占的比特数  
  2. int width() const;     // 图像宽度,单位是像素  
  3. int height() const;   // 图像高度,单位是像素  
  4. QSize size() cosnt;  // 图像的大小,即 QSize(width(), height());  
  5. QRect rect() const;   // 图像的矩形区域,即 QRect(QPoint(0,0),size());  


       加载和保存图像

       用下面的成员函数可以从文件加载图像:

[plain] view plaincopy
  1. bool load(const QString &filename, const char *fornat = 0, Qt::ImageCoversionFlags flags = Qt::AutoColor);  


       这里各个参数的含义与构造函数中一样,返回值为 true 表示加载成功,false 表示加载失败。相反的操作是将 Qpixmap 代表的图像保存到文件,可用以下成员函数:

[plain] view plaincopy
  1. bool save(const QString &filename, const char *format = 0, int quality = -1) const;  

       其各个参数及返回值的含义解释如下。

       1) filename:文件名。

       2) format:字符串,表示图像文件的格式,如果为 0,将根据文件名的后缀自动确定文件格式。

       3) quality:对于有损压缩的文件格式来说,它表示图像保存的质量,质量越低压缩率越大。取值范围为 0~100,-1 表示采用默认值。

       4) 返回值:true 表示保存成功,false 表示保存失败。

       


        判断

        以下成员函数可以判断 QPixmap 对象是否为空图像:

[plain] view plaincopy
  1. bool isNull() const;     // 判断是否为空图像  
0 0
原创粉丝点击