我无法在 QT 中更改Qcheckbox
的颜色,有人可以帮我修改复选框文本标签颜色的代码。
我尝试了Qpalette
..并使用 QT4.7.4 版本..
答案 0 :(得分:8)
您可以使用stylesheets。
e.g:
checkBox->setStyleSheet("QCheckBox { color: red }");
有关详细信息,请查看style sheets in Qt Reference和stylesheets 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; }");
设置两种状态都改变了我的颜色。在样式表和调色板系统中似乎有一些奇怪的东西,所以请留意他们并尝试一些不同的东西(即选择器,伪状态等)