- 每个窗体或控件都包含一个QPalette对象
1. ColorGroup:三种不同的状态
- QPalette::Active:获得焦点的状态
- QPalette::Inactive:未获得焦点的状态
- QPalette::Disable:不可用状态
在通常情况下,Active状态与Inactive状态颜色显示是一致的,可根据需要设置为不一样的颜色
2. ColorRole:对窗体中不同部位颜色的分类
- QPalette::Window:背景色
- QPalette::WindowText:前景色
- QPalette::Button:按钮背景色
- QPalette::ButtonText:按钮上文字颜色
- QPalette::Base:可输入文本框背景色
3. setColor(ColorGroup group, ColorRole role, const QColor& color)
- 对某个控件或窗体颜色进行设置时,区分了状态,即不同状态颜色不一样
4. setColor(ColorRole role, const QColor& color)
- 只对某个控件或窗体颜色进行设置,不区分状态
- 填充背景色时,需要调用setAutoFillBackground(true)设置窗体自动填充背景
setAutoFillBackground(true); QPalette palette = QPalette(); palette.setColor(QPalette::Window, Qt::blue); xx.setPalette(palette);
5. setBrush(ColorRole role, const QColor& color)
- 可使用图片或单一的颜色进行填充