QSlider
1.常用属性
2.信号事件
3.qss样式设计
4.重载鼠标事件自定义XSlider
QSlider属性
1.setRange(int min,int max);
2.setSingleStep(键盘) setPageStep(鼠标)
3.setOrientation Horizontal Vertical
QSlider信号
1.void sliderMoved(int value) 拖动
2.void sliderPressed() 点击滑块
3.void sliderReleased();
4.void valueChanged(int value) 点击或者设置
QSlider qss样式
QSlider::groove{ //滑动槽
border:1px solid #9999999;
height:28px;
background:rgba(155,155,155,200);
border-radius:10px;
}
QSlider::handle{ //拖动按钮
background:rgba(255,0,0,200);
width:20px;
margin:-10px 0;
border:1px solid rgba(255,0,0,200);
border-radius:10px;
}
QSlider::add-page{
background:rgba(255,0,0,10);
}
QSlider::sub-page{
background:rgba(0,255,0,30);
}
QSlider重载鼠标事件
1.界面设计器添加自定义XSlider,提升控件
2.void mousePressEvent(QMouseEvent *ev)
3.根据鼠标位置计算移动位置
XSlider.h
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = nullptr);
~Widget();
public slots:
void Move(int);
void Change(int);
void Press();
void Rel();
void Click();
private:
Ui::Widget *ui;
};
#endif // WIDGET_H