ctkRangeWidget在设置stylesheet后发现滑动条显示出现问题,最小值之前的滑动条颜色不对。看过源码后发现在ctkRangeSlider中滑动条的绘制是重新绘制过的,此时不能设置QSlider的子控件的颜色值,最大最小滑块间的颜色是通过QPalette的Hightlight画刷颜色确定的,这个颜色在qss中是由selection-background-color属性设定。因此ctkRangeWidget的滑动条设置不能和QSlider一起设置,需要分开设置,这里使用包含语法。
ctkRangeWidget QSlider{
selection-background-color:red
}
这样既不会影响普通滑块控件的样式,ctk双滑块的样式也不会出问题了