QPalette类提供了绘制QWidget控件时使用的颜色。
控件的颜色状态分三种:
(1)Active,激活状态
(2)Disabled,禁用状态
(3)Inactive,未激活状态
控件在这三种不同的状态下具有不同的颜色值,QPalette类管理这三组颜色,它根据这三种状态分为三组颜色,每一组颜色都根据绘图角色的不同分类。系统在绘制控件时使用这些颜色,程序员可以改变这些设置。
设置的方法是先调用QWidget::palette()获取当前面板,修改它为自定义的值后再通过方法QWidget::setPalette设置为新修改的面板。代码如下所示:
[cpp] view plaincopy
- QPalette palette = widget->palette();
- palette.setColor(QPalette::Window, Qt::lightGray); //改变控件背景色
- palette.setColor(QPalette::WindowText, Qt::blue); //改变控件字体颜色
- ...
- 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