diff --git a/components/slider.cpp b/components/slider.cpp index 404192f..be7d084 100644 --- a/components/slider.cpp +++ b/components/slider.cpp @@ -13,16 +13,6 @@ Slider::Slider(QWidget *parent) d_ptr(new SliderPrivate(this)) { d_func()->init(this); - - setFocusPolicy(Qt::StrongFocus); - - QSizePolicy sp(QSizePolicy::Expanding, QSizePolicy::Fixed); - if (orientation() == Qt::Vertical) - sp.transpose(); - setSizePolicy(sp); - setAttribute(Qt::WA_WState_OwnSizePolicy, false); - - QCoreApplication::processEvents(); } Slider::~Slider() @@ -41,7 +31,7 @@ int Slider::thumbOffset() const maximum(), sliderPosition(), Qt::Horizontal == orientation() - ? rect().width() -SLIDER_MARGIN*2 + ? rect().width() - SLIDER_MARGIN*2 : rect().height() - SLIDER_MARGIN*2, invertedAppearance()); } diff --git a/components/slider_p.h b/components/slider_p.h index 24d6aab..93f9681 100644 --- a/components/slider_p.h +++ b/components/slider_p.h @@ -202,6 +202,16 @@ void SliderPrivate::init(Slider *slider) normalState->addTransition(transition); machine.start(); + + slider->setFocusPolicy(Qt::StrongFocus); + + QSizePolicy sp(QSizePolicy::Expanding, QSizePolicy::Fixed); + if (slider->orientation() == Qt::Vertical) + sp.transpose(); + slider->setSizePolicy(sp); + slider->setAttribute(Qt::WA_WState_OwnSizePolicy, false); + + QCoreApplication::processEvents(); } QRectF SliderPrivate::trackGeometry() const