Всем привет.
Нужен некий новый виджет - слайдер с двумя "ручками", с поддержкой стилей
(знаю, что есть что-то подобное в libqxt, называется SpanSlider, но суть не в этом).
Сам виджет наследую от QSlider, а ручки рисую так:
C++ (Qt)
MySlider::MySlider(QWidget *parent)
: QSlider(Qt::Horizontal, parent)
{
}
void MySlider::paintEvent(QPaintEvent *ev)
{
Q_UNUSED(ev);
QPainter p(this);
QStyleOptionSlider opt;
initStyleOption(&opt);
// Рисуем левую ручку.
opt.sliderPosition = 0;
opt.subControls = QStyle::SC_SliderHandle;
style()->drawComplexControl(QStyle::CC_Slider, &opt, &p, this);
// Рисуем правую ручку.
opt.sliderPosition = 50;
opt.subControls = QStyle::SC_SliderHandle;
style()->drawComplexControl(QStyle::CC_Slider, &opt, &p, this);
}
Вроде все отрисовывается как надо.. НО.. как только устанавливаю фон виджету из
стилей:
C++ (Qt)
app.setStyleSheet("MySlider { background-color: yellow; }");
... то отрисовывается только последняя ручка... ччерт..

как быть?
PS: См. картинки в аттаче.