滑動條:QSlider

柴俊偉發表於2018-05-09

#include<QSlider>

    QPixmap *pix2(str+"voice_scale.png");
   QSlider pSlider=new QSlider(this);
    pSlider->resize(pix2.size());//大小
    pSlider->move(45,30);//位置
    pSlider->setOrientation(Qt::Vertical);Horizontal(橫)//設定滑塊的橫豎
    pSlider->setMinimum(-100);最小值滑塊
    pSlider->setMaximum(5);//最大值滑塊
    pSlider->setValue(-100);//設定當前預設值,
    pSlider->setSingleStep(1);//步長
   //前一個為滑條的圖片,後一個為滑塊的圖片
   pSlider->setStyleSheet("QSlider::groove:vertical{border-image:url("+str+"voice_scale.png)}"                       "QSlider::handle:vertical{image:url("+str+"voice_button.png)}");
//valueChanged(int)是滑塊移動時自動觸發的訊號,類似按鈕的clicked(bool);
connect(Scene->pSlider,SIGNAL(valueChanged(int)),this,SLOT(leftVoice(int)));

侷限:滑塊必然比滑條的圖片小,是自適應的,改變不了;
    滑塊位於滑條圖片的中間,自己實現不了滑塊的位置偏移,

解決方案:改變滑條圖片的原點,使其中點位移;

      找UI換圖片 ;

相關文章