QPalette

QPalette调色板类

每个窗口都有一个QPalette对象,在QPalette中保存着一些颜色值,比如窗口Active状态下的文本颜色,Disable状态下的背静颜色等等,你设置了这些颜色值之后,当窗口处于相对应的状态时,对应的文本或者背景就显示相应的颜色。
这些只对窗口本身有效,对其子窗口无效。

QT帮助文档里强烈建议我们从QApplication对象中获取QPalette对象,然后修改需要的颜色,再设置到某个我们需要修改的窗口中。例如:

QPushButton* button = new QPushButton("Button", this)
QPalette p = qApp->palette();
p.setColor(QPalette::ButtonText, Qt::red);
button->setPalette(p);

我们也可以设置某种状态下的ButtonText

QPushButton* button = new QPushButton("Button", this)
QPalette p = qApp->palette();
p.setColor(QPalette::Active, QPalette::ButtonText, Qt::red);
button->setPalette(p);

标签: none

添加新评论