Qt之控件颜色面板类QPalette(转自CSDN,xgbing)

 QPalette类提供了绘制QWidget控件时使用的颜色。

    控件的颜色状态分三种:

(1)Active,激活状态

(2)Disabled,禁用状态

(3)Inactive,未激活状态

 

    控件在这三种不同的状态下具有不同的颜色值,QPalette类管理这三组颜色,它根据这三种状态分为三组颜色,每一组颜色都根据绘图角色的不同分类。系统在绘制控件时使用这些颜色,程序员可以改变这些设置。

    设置的方法是先调用QWidget::palette()获取当前面板,修改它为自定义的值后再通过方法QWidget::setPalette设置为新修改的面板。代码如下所示:

[cpp] view plaincopy
 
  1. QPalette palette = widget->palette();  
  2. palette.setColor(QPalette::Window, Qt::lightGray);  //改变控件背景色  
  3. palette.setColor(QPalette::WindowText, Qt::blue);   //改变控件字体颜色  
  4. ...  
  5. widget->setPalette(palette);  


通过这种方法,可以方便设置控件的背景色,字体颜色等。

 

常用的设置方法如下:

(1) void QPalette::setBrush ( ColorRole role, const QBrush & brush )

改变所有组下指定角色role的画刷颜色值。

(2) void QPalette::setBrush ( ColorGroup group, ColorRole role, const QBrush & brush )

改变指定组group下的指定角色role的画刷颜色值。

(3) void QPalette::setColor ( ColorRole role, const QColor & color )

改变所有组下指定角色role的颜色值。

(4) void QPalette::setColor ( ColorGroup group, ColorRole role, const QColor & color )

改变指定组group下指定角色role的颜色值。

 后续详细:http://blog.csdn.net/xgbing/article/details/7784984

 

posted on 2015-07-06 21:06  alleyonine  阅读(520)  评论(0编辑  收藏  举报

导航