如何更改Qt中的QCheckBox文本标签颜色?
问题描述:
我无法更改Qcheckbox
的颜色QT,有人可以帮我用代码更改复选框文本标签的颜色。 我曾尝试使用QT4.7.4版本Qpalette
..和IM ..如何更改Qt中的QCheckBox文本标签颜色?
答
你可以使用stylesheets:
checkBox->setStylesheet("QCheckBox { color: red }");
欲了解更多详细信息,请检查style sheets in Qt Reference和stylesheets documentation
答
这适用于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)
样式表也不工作...有没有其他方法? – sai
你的意思是说'setStyleSheet'(大写“在工作表”)? – Claudiu