File indexing completed on 2026-09-10 09:23:19
0001
0002
0003
0004
0005 #ifndef QSLIDER_H
0006 #define QSLIDER_H
0007
0008 #include <QtWidgets/qtwidgetsglobal.h>
0009
0010 #include <QtWidgets/qabstractslider.h>
0011
0012 QT_REQUIRE_CONFIG(slider);
0013
0014 QT_BEGIN_NAMESPACE
0015
0016 class QSliderPrivate;
0017 class QStyleOptionSlider;
0018 class Q_WIDGETS_EXPORT QSlider : public QAbstractSlider
0019 {
0020 Q_OBJECT
0021
0022 Q_PROPERTY(TickPosition tickPosition READ tickPosition WRITE setTickPosition)
0023 Q_PROPERTY(int tickInterval READ tickInterval WRITE setTickInterval)
0024
0025 public:
0026 enum TickPosition {
0027 NoTicks = 0,
0028 TicksAbove = 1,
0029 TicksLeft = TicksAbove,
0030 TicksBelow = 2,
0031 TicksRight = TicksBelow,
0032 TicksBothSides = 3
0033 };
0034 Q_ENUM(TickPosition)
0035
0036 explicit QSlider(QWidget *parent = nullptr);
0037 explicit QSlider(Qt::Orientation orientation, QWidget *parent = nullptr);
0038
0039 ~QSlider();
0040
0041 QSize sizeHint() const override;
0042 QSize minimumSizeHint() const override;
0043
0044 void setTickPosition(TickPosition position);
0045 TickPosition tickPosition() const;
0046
0047 void setTickInterval(int ti);
0048 int tickInterval() const;
0049
0050 bool event(QEvent *event) override;
0051
0052 protected:
0053 void paintEvent(QPaintEvent *ev) override;
0054 void mousePressEvent(QMouseEvent *ev) override;
0055 void mouseReleaseEvent(QMouseEvent *ev) override;
0056 void mouseMoveEvent(QMouseEvent *ev) override;
0057 virtual void initStyleOption(QStyleOptionSlider *option) const;
0058
0059
0060 private:
0061 friend Q_WIDGETS_EXPORT QStyleOptionSlider qt_qsliderStyleOption(QSlider *slider);
0062
0063 Q_DISABLE_COPY(QSlider)
0064 Q_DECLARE_PRIVATE(QSlider)
0065 };
0066
0067 QT_END_NAMESPACE
0068
0069 #endif