用drawComplexControl 重绘slider,为啥滑块,线糟还在?

用drawComplexControl 重绘slider,为什么滑块,线糟还在??

void MySliderStyle::drawComplexControl(ComplexControl cc, const QStyleOptionComplex *opt, QPainter *p, const QWidget *w) const{

    if(cc == CC_Slider){
        if (const QStyleOptionSlider *slider = qstyleoption_cast<const QStyleOptionSlider *>(opt)) {
                  QRect groove = subControlRect(CC_Slider, opt, SC_SliderGroove, w);
                  QRect handle = subControlRect(CC_Slider, opt, SC_SliderHandle, w);

                 p->save();
                  QPixmap grv;
                      grv.load( ":/new/prefix1/image/2.png" );
                      QPixmap hndl;
                          hndl.load( ":/new/prefix1/image/1.png" );
                          QPixmap hndlMove;
                              hndlMove.load( ":/new/prefix1/image/3.png" );
              //    QPixmap grv = cached( tr(":/MyQTInterface/Resources/sliderGroove.png") );//设置进度条图片
              //    QPixmap hndl = cached( tr(":/MyQTInterface/Resources/sliderHandle.png") );//设置滑块图片
              //    QPixmap hndlMove = cached( tr(":/MyQTInterface/Resources/sliderHandleMove.png"));
                              int duration = slider->maximum - slider->minimum;
                              int pos = (slider->sliderPosition-slider->minimum)*slider->rect.width() / duration;


                  if ((opt->subControls & SC_SliderGroove) && groove.isValid() && handle.isValid()) {
                      p->drawPixmap(QRect(groove.x() , groove.y() ,
                          pos, slider->rect.height()),
                          grv);
                      p->drawPixmap(QRect(groove.x()+pos , groove.y() ,
                         slider->rect.width()-pos, slider->rect.height()),
                          hndl);
                  }
                 
                  //如果被选中
              if ((opt->subControls & SC_SliderHandle) && (slider->state & State_Sunken))

                     p->drawPixmap(handle.topLeft(), hndlMove);
                  else if((opt->subControls & SC_SliderHandle))

                      p->drawPixmap(handle.topLeft(), hndl);
                 p->restore();
              }
    }

    QPlastiqueStyle::drawComplexControl(cc, opt, p, w);

}

------解决思路----------------------
update就可以。你看看paintevent里是不是在切换时没有关掉另一个显示