6

我无法更改QTQcheckbox中的颜色,有人可以帮助我使用代码更改复选框文本标签的颜色。我试过了..我使用的是QT4.7.4版本..Qpalette

4

4 回答 4

8

您可以使用样式表

例如:

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

有关更多详细信息,请查看Qt 参考中的样式表和样式表文档

于 2012-06-22T11:17:31.143 回答
5

这对我有用:

QPalette p = myCheckBox->palette();
p.setColor(QPalette::Active, QPalette::WindowText, green);
myCheckBox->setPalette(p);
于 2012-06-22T16:41:22.977 回答
1

我使用各种版本的 Qt5(5.2、5.4)遇到了这个问题。要使用样式表,我必须使用 Pseudo-States 属性:http ://doc.qt.io/qt-4.8/stylesheet-reference.html#list-of-pseudo-states

例子:

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

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

于 2016-02-18T16:34:20.200 回答
1

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

QCheckBox {
   border: none;
   color: white;
}

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

于 2016-05-23T14:41:34.053 回答