12 : QSlider(orientation, parent),
16 setCursor(QCursor(Qt::PointingHandCursor));
25 return QSlider::event(event);
30 QSlider::mousePressEvent(event);
31 if(event->button() == Qt::LeftButton)
36 if(orientation() == Qt::Horizontal)
38 pos =
event->pos().x() * 1.0 / width();
39 m_value = pos * (maximum() - minimum()) + minimum();
43 pos =
event->pos().y() * 1.0 / height();
44 m_value = maximum() - pos * (maximum() - minimum());
51 QSlider::mouseMoveEvent(event);
54 if(orientation() == Qt::Horizontal)
56 const int x =
event->pos().x();
57 if((x >= 0) && (x <= width()))
59 const double pos =
event->pos().x() * 1.0 / width();
60 m_value = pos * (maximum() - minimum()) + minimum();
74 const int y =
event->pos().y();
75 if((y >= 0) && (y <= height()))
77 const double pos =
event->pos().y() * 1.0 / height();
78 m_value = maximum() - pos * (maximum() - minimum());
97 QSlider::mouseReleaseEvent(event);
virtual void mouseMoveEvent(QMouseEvent *event) override
The class of the slider that can clicked any position.
virtual void mousePressEvent(QMouseEvent *event) override
TTKClickedSlider(QWidget *parent=nullptr)
virtual void mouseReleaseEvent(QMouseEvent *event) override
virtual bool event(QEvent *event) overridefinal