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

时间:2012-06-22 09:52:28

标签: c++ qt checkbox qcheckbox

我无法在 QT 中更改Qcheckbox的颜色,有人可以帮我修改复选框文本标签颜色的代码。 我尝试了Qpalette ..并使用 QT4.7.4 版本..

4 个答案:

答案 0 :(得分:8)

您可以使用stylesheets

e.g:

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

有关详细信息,请查看style sheets in Qt Referencestylesheets documentation

答案 1 :(得分:4)

这对我有用:

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

答案 2 :(得分:1)

对于某些小部件,您必须强制使用非系统“小部件引擎”。对于复选框,可以通过将border设置为none来完成。所以复选框的样式如下:

LinearLayout

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

答案 3 :(得分:0)

我使用各种版本的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; }");

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