qcheckbox如何设置在未选中时一个圆圈,选中时外部圆圈存在并且内部有一个同心圆
时间: 2024-02-09 07:09:10 浏览: 66
checkBox分别处理选中与不选中
可以通过自定义QCheckBox的样式表来实现在未选中时显示一个圆圈,在选中时显示一个外部圆圈和内部同心圆的效果。可以使用以下样式表:
```
QCheckBox::indicator {
border: 2px solid gray;
width: 20px;
height: 20px;
border-radius: 10px;
}
QCheckBox::indicator:checked {
background-color: blue;
width: 20px;
height: 20px;
border-radius: 10px;
}
QCheckBox::indicator:checked:disabled {
background-color: gray;
}
QCheckBox::indicator:disabled {
border: 2px solid lightgray;
}
QCheckBox::indicator:checked:hover {
border: 2px solid blue;
}
QCheckBox::indicator:hover {
border: 2px solid gray;
}
QCheckBox::indicator:checked:pressed {
border: 2px solid blue;
}
QCheckBox::indicator:pressed {
border: 2px solid gray;
}
QCheckBox::indicator:checked:focus {
border: 2px solid blue;
outline: none;
}
QCheckBox::indicator:focus {
border: 2px solid gray;
outline: none;
}
QCheckBox::indicator:checked:indeterminate {
background-color: gray;
}
QCheckBox::indicator:indeterminate {
background-color: gray;
}
QCheckBox::indicator:indeterminate:hover {
background-color: darkgray;
border: 2px solid gray;
}
QCheckBox::indicator:checked:indeterminate:hover {
background-color: darkgray;
border: 2px solid blue;
}
```
这个样式表中,我们首先设置了indicator的样式,其中包含了一个2px宽的灰色边框、20x20像素的大小和10像素的圆角半径。然后,我们设置了checked状态下的indicator的样式,其中包含了一个蓝色背景、20x20像素的大小和10像素的圆角半径,形成了一个外部圆圈和内部同心圆的效果。我们还为不同的状态设置了不同的样式,例如选中时的hover效果、选中时的indeterminate效果等等。可以根据需要自定义这些样式属性。
将这个样式表应用到QCheckBox上,即可实现在未选中时显示一个圆圈,在选中时显示一个外部圆圈和内部同心圆的效果。
阅读全文