Slider.h 951 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #ifndef SLIDER_H
  2. #define SLIDER_H
  3. #include <QMap>
  4. #include <QProxyStyle>
  5. #include <QSlider>
  6. class Slider : public QSlider
  7. {
  8. Q_OBJECT
  9. public:
  10. explicit Slider(Qt::Orientation orientation, QWidget *parent = nullptr);
  11. signals:
  12. void clicked(int);
  13. // QWidget interface
  14. protected:
  15. void mousePressEvent(QMouseEvent *event) override;
  16. };
  17. /// Hollow handle style
  18. class HollowHandleStyle : public QProxyStyle
  19. {
  20. Q_OBJECT
  21. public:
  22. HollowHandleStyle(const QMap<QString, QVariant> &cfg = QMap<QString, QVariant>());
  23. // QStyle interface
  24. public:
  25. void drawComplexControl(ComplexControl cc, const QStyleOptionComplex *opt, QPainter *p,
  26. const QWidget *widget) const override;
  27. QRect subControlRect(ComplexControl cc, const QStyleOptionComplex *opt, SubControl sc,
  28. const QWidget *widget) const override;
  29. private:
  30. QMap<QString, QVariant> config;
  31. };
  32. #endif // SLIDER_H