#include "islider.h" #include ISlider::ISlider(QWidget *parent) : QSlider(parent) { this->installEventFilter(this); connect(this, SIGNAL(sliderPressed()), this, SLOT(setMoveable())); connect(this, SIGNAL(sliderReleased()), this, SLOT(setMoveDisable())); m_Trigpressed = false; } void ISlider::mouseMoveEvent(QMouseEvent *ev) { if(m_Trigpressed) { QSlider::mouseMoveEvent(ev); } } bool ISlider::eventFilter(QObject *obj, QEvent *event) { return false; } void ISlider::wheelEvent(QWheelEvent *event) { QSlider::wheelEvent(event); } void ISlider::setMoveable() { m_Trigpressed = true; //emit mouseCliced(); } void ISlider::setMoveDisable() { m_Trigpressed = false; emit mouseCliced(); } void ISlider::enterEvent(QEvent *e) { emit mouseIn(); } void ISlider::leaveEvent(QEvent *e) { emit mouseOut(); }