最近研究最新版的360安全卫士,并仿照去实现,其中在换肤模块中有一个调节透明度的滑动条,包括滑块是圆形的,已经滑动的区域是绿色的,未滑动的区域是灰白色,使用纯qss实现,阴影实现
1、代码如下:
// 滑动条
m_pSlider = new QSlider(this);
m_pSlider->setOrientation(Qt::Horizontal);
m_pSlider->setMinimum(0);
m_pSlider->setMaximum(255);
m_pSlider->setSingleStep(10);
m_pSlider->setGeometry(30,this->height()-28,200,25);
m_pSlider->setStyleSheet("QSlider::handle:horizontal{width:24px;background-color:rgb(255,255,255);margin:-11px 0px -11px 0px;border-radius:12px;}"
"QSlider::groove:horizontal{height:2px;background-color:rgb(219,219,219);}"
"QSlider::add-page:horizontal{background-color:rgb(219,219,219);}"
"QSlider::sub-page:horizontal{background-color:rgb(26,217,110);}");
QGraphicsDropShadowEffect *effect = new QGraphicsDropShadowEffect;
effect->setOffset(4,4);
effect->setColor(QColor(0,0,0,50));
effect->setBlurRadius(10);
m_pSlider->setGraphicsEffect(effect);
2、效果如下: