qtmaterialscrollbar.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #ifndef QTMATERIALSCROLLBAR_H
  2. #define QTMATERIALSCROLLBAR_H
  3. #include <QtWidgets/QScrollBar>
  4. class QtMaterialScrollBarPrivate;
  5. class QtMaterialScrollBar : public QScrollBar
  6. {
  7. Q_OBJECT
  8. Q_PROPERTY(QColor canvasColor WRITE setCanvasColor READ canvasColor)
  9. Q_PROPERTY(QColor backgroundColor WRITE setBackgroundColor READ backgroundColor)
  10. Q_PROPERTY(QColor sliderColor WRITE setSliderColor READ sliderColor)
  11. public:
  12. explicit QtMaterialScrollBar(QWidget *parent = 0);
  13. ~QtMaterialScrollBar();
  14. QSize sizeHint() const Q_DECL_OVERRIDE;
  15. void setUseThemeColors(bool value);
  16. bool useThemeColors() const;
  17. void setCanvasColor(const QColor &color);
  18. QColor canvasColor() const;
  19. void setBackgroundColor(const QColor &color);
  20. QColor backgroundColor() const;
  21. void setSliderColor(const QColor &color);
  22. QColor sliderColor() const;
  23. void setHideOnMouseOut(bool value);
  24. bool hideOnMouseOut() const;
  25. protected:
  26. void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE;
  27. const QScopedPointer<QtMaterialScrollBarPrivate> d_ptr;
  28. private:
  29. Q_DISABLE_COPY(QtMaterialScrollBar)
  30. Q_DECLARE_PRIVATE(QtMaterialScrollBar)
  31. };
  32. #endif // QTMATERIALSCROLLBAR_H