qcheckbox设置勾选框为白色勾为黑色
时间: 2024-03-11 07:47:19 浏览: 180
QTableView插入QCheckBox复选框
您可以使用QSS(Qt样式表)来设置QCheckBox的勾选框和勾选标记的颜色。以下是一些示例代码,您可以将其添加到应用程序的样式表中:
```
QCheckBox::indicator {
border: 2px solid #bdc3c7;
width: 15px;
height: 15px;
}
QCheckBox::indicator:checked {
background-color: #2ecc71;
border-color: #2ecc71;
}
QCheckBox::indicator:checked:disabled {
background-color: #7f8c8d;
border-color: #7f8c8d;
}
QCheckBox::indicator:unchecked:hover {
border: 2px solid #34495e;
}
QCheckBox::indicator:checked:hover {
border: 2px solid #2ecc71;
}
QCheckBox::indicator:unchecked:focus {
border: 2px solid #3498db;
}
QCheckBox::indicator:checked:focus {
border: 2px solid #2ecc71;
}
QCheckBox::indicator:unchecked:pressed {
border: 2px solid #2980b9;
}
QCheckBox::indicator:checked:pressed {
border: 2px solid #2ecc71;
}
QCheckBox::indicator:checked {
background-image: url(:/icons/checkbox_checked.png);
}
QCheckBox::indicator:unchecked {
background-image: url(:/icons/checkbox_unchecked.png);
}
```
其中,`::indicator`选择器用于设置勾选框的外观,`::indicator:checked`选择器用于设置勾选标记的外观。您可以根据自己的需求调整此样式表。在上面的代码中,勾选框的颜色为灰色(`#bdc3c7`),勾选标记的颜色为绿色(`#2ecc71`),未勾选的勾选框使用 unchecked.png 图像,勾选的勾选框使用 checked.png 图像。您需要替换这些图像路径以使其适合您的项目。
请注意,如果您将样式表应用于应用程序中的所有QCheckBox,则上述样式表将为所有QCheckBox设置相同的外观。如果您只想为单个QCheckBox设置样式表,则可以使用该QCheckBox的setStyleSheet()函数。例如:
```
QCheckBox *checkBox = new QCheckBox("My Checkbox");
checkBox->setStyleSheet("QCheckBox::indicator:checked { background-color: #2ecc71; border-color: #2ecc71; } QCheckBox::indicator:unchecked { background-color: white; border-color: black; }");
```
这将为名为“ My Checkbox”的QCheckBox设置不同的勾选框和勾选标记颜色。
阅读全文