请教:CheckBox 如何改变背景色和选中时的颜色?

时间:2021-11-09 14:47:17
试了直接在 UI 文件中使用 palette 改,不行;
试了下面这样的方式来修改也不行(同样的方式对QPushButton似乎可以生效),
 #if 0
    QColor color(203, 122, 60);
    QPalette palette = ui->checkBox->palette();
    palette.setColor(QPalette::Button, color);
    palette.setColor(QPalette::ButtonText, Qt::green);
    ui->checkBox->setPalette(palette);
    #else
    QColor color(203, 122, 60);
    QPalette palette = ui->pushButton->palette();
    palette.setColor(QPalette::Button, color);
    palette.setColor(QPalette::ButtonText, Qt::green);
    ui->pushButton->setPalette(palette);
    #endif


请教各位大侠,之前有没搞过这样的问题?

4 个解决方案

#1


上面的代码是改变字体颜色和背景色;对QpushButton 字体颜色可以改变,背景色改变不了,好像还要弄个新的StyleSheet;但对 checkBox 连字体颜色都没有改变。。。

#2


StyleSheet 应该可以搞定,建议看下帮助文档。

#3


引用 2 楼 Snowless1987 的回复:
StyleSheet 应该可以搞定,建议看下帮助文档。


看了下文档,也做了些试验,貌似不行。在CheckBox 无法实现  selection-background-color 设置。

#4


QCheckBox::indicator:unchecked {
     background-color:rgb(255,0,0);
 }

QCheckBox{
background-color:rgb(0,0,0);
color:rgb(192,192,0);
}


可以搞定的

#1


上面的代码是改变字体颜色和背景色;对QpushButton 字体颜色可以改变,背景色改变不了,好像还要弄个新的StyleSheet;但对 checkBox 连字体颜色都没有改变。。。

#2


StyleSheet 应该可以搞定,建议看下帮助文档。

#3


引用 2 楼 Snowless1987 的回复:
StyleSheet 应该可以搞定,建议看下帮助文档。


看了下文档,也做了些试验,貌似不行。在CheckBox 无法实现  selection-background-color 设置。

#4


QCheckBox::indicator:unchecked {
     background-color:rgb(255,0,0);
 }

QCheckBox{
background-color:rgb(0,0,0);
color:rgb(192,192,0);
}


可以搞定的