xref: /OK3568_Linux_fs/app/forlinx/flapp/src/plugins/screen/sliderwidget.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 /* QSlider按值滑动,设置范围较小时,导致触摸看上去和显示位置不符合. 按照像素滑动纵行滑窗口接近值绘制.*/
2 #ifndef SLIDERWIDGET_H
3 #define SLIDERWIDGET_H
4 
5 #include <QWidget>
6 
7 class SliderWidgetPrivate;
8 class  SliderWidget : public QWidget
9 {
10     Q_OBJECT
11 public:
12     explicit SliderWidget(QWidget *parent = nullptr);
13     ~ SliderWidget();
14 
15     void setRange(int min, int max);
16     int value();
17     void setValue(int value);
18 
19 Q_SIGNALS:
20     void valueChanged(int v);
21 
22 protected:
23     void mousePressEvent(QMouseEvent *e);
24     void mouseMoveEvent(QMouseEvent *e);
25     void paintEvent(QPaintEvent *e);
26     void resizeEvent(QResizeEvent *e);
27 
28     QSize sizeHint()const;
29 
30 private:
31     SliderWidgetPrivate *m_d;
32 };
33 
34 #endif // SLIDERWIDGET_H
35