qcheckbox设置勾选框为白色勾为黑色
时间: 2024-03-11 11:47:30 浏览: 151
基于QT+C++实现的带动画效果的多选框QCheckBox+源码
您可以使用QSS(Qt样式表)来设置QCheckBox的勾选框和勾选标记的颜色。以下是一些示例代码,您可以将其添加到应用程序的样式表中:
```
QCheckBox::indicator {
border: 2px solid #bdc3c7;
width: 15px;
height: 15px;
}
QCheckBox::indicator:checked {
background-color: #2ecc71;
border-color: #2ecc71;
color: black;
}
QCheckBox::indicator:checked:disabled {
background-color: #7f8c8d;
border-color: #7f8c8d;
color: black;
}
QCheckBox::indicator:unchecked {
background-color: white;
border-color: black;
}
```
其中,`::indicator`选择器用于设置勾选框的外观,`::indicator:checked`选择器用于设置勾选标记的外观。在上面的代码中,勾选框的颜色为灰色(`#bdc3c7`),勾选标记的颜色为绿色(`#2ecc71`),未勾选的勾选框使用白色背景和黑色边框,勾选的勾选框使用绿色背景和黑色的勾选标记。您可以根据自己的需求调整此样式表。
请注意,如果您将样式表应用于应用程序中的所有QCheckBox,则上述样式表将为所有QCheckBox设置相同的外观。如果您只想为单个QCheckBox设置样式表,则可以使用该QCheckBox的setStyleSheet()函数。例如:
```
QCheckBox *checkBox = new QCheckBox("My Checkbox");
checkBox->setStyleSheet("QCheckBox::indicator:checked { background-color: #2ecc71; border-color: #2ecc71; color: black; } QCheckBox::indicator:unchecked { background-color: white; border-color: black; }");
```
这将为名为“ My Checkbox”的QCheckBox设置不同的勾选框和勾选标记颜色。
阅读全文