• 每个窗体或控件都包含一个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)

  • 可使用图片或单一的颜色进行填充
posted on 2022-02-23 15:00  不再低调  阅读(322)  评论(0编辑  收藏  举报