如何更改Qt中的QCheckBox文本标签颜色?

问题描述:

我无法更改Qcheckbox的颜色QT,有人可以帮我用代码更改复选框文本标签的颜色。 我曾尝试使用QT4.7.4版本Qpalette ..和IM ..如何更改Qt中的QCheckBox文本标签颜色?

你可以使用stylesheets

checkBox->setStylesheet("QCheckBox { color: red }"); 

欲了解更多详细信息,请检查style sheets in Qt Referencestylesheets documentation

+1

样式表也不工作...有没有其他方法? – sai

+0

你的意思是说'setStyleSheet'(大写“在工作表”)? – Claudiu

这适用于me:

QPalette p = myCheckBox->palette(); 
p.setColor(QPalette::Active, QPalette::WindowText, green); 
myCheckBox->setPalette(p); 

我跑了int这个问题使用各种版本的Qt5(5.2,5.4)。要使用样式表做到这一点,我不得不使用伪国性质:http://doc.qt.io/qt-4.8/stylesheet-reference.html#list-of-pseudo-states

例子:

myCheckbox->setStyleSheet("QCheckBox:unchecked{ color: red; }QCheckBox:checked{ color: red; }"); 

设置两种状态改变的颜色适合我。在样式表和调色板系统中似乎有一些古怪的东西,所以请留意你的眼睛并尝试一些不同的东西(即选择器,伪状态等)。

看起来像你需要的一些小部件强制使用非系统的“小部件引擎”。对于复选框,可以通过将边框设置为无。所以复选框的样式如下所示:

QCheckBox { 
    border: none; 
    color: white; 
} 

其他小部件需要类似的行为。某些样式属性不会禁用本机外观。例如QPushButton(http://doc.qt.io/qt-4.8/stylesheet-reference.html