一.效果
要实现“漂亮”的QCheckBox有两种方法,一种是贴图,一种是自绘,效果如下所示:
二.实现
这里两种方法都用到了Qt样式表(style sheet),方法一直接加载QSS,通过check状态切换图片,QSS如下
QCheckBox::indicator{
width: 80px;
height: 40px;
}
QCheckBox::indicator:unchecked {
border-image: url(:/icons/CheckOff.png);
}
QCheckBox::indicator:checked {
border-image: url(:/icons/CheckOn.png);
}
方法一有三个明显的缺点
1.需要美工,效果图中的图是我自己p的,p的不太好,边缘锯齿明显
2.checkbox缩放时图片会变形
3.指示器(indicator)滑动时没有动画效果,好吧这里根本没滑动
相比方法一,方法二就没上面的三个缺点,