您的位置:首页 > 编程语言 > Qt开发

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

2015-07-06 21:06 399 查看
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的颜色值。

后续详细:/article/1382214.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: