51 lines
922 B
C++
51 lines
922 B
C++
#include "CustomSlider.h"
|
|
|
|
#include <QMouseEvent>
|
|
|
|
CustomSlider::CustomSlider(QWidget *parent, Qt::WindowFlags f)
|
|
:QSlider(parent)
|
|
{
|
|
Q_UNUSED(f);
|
|
}
|
|
|
|
CustomSlider::~CustomSlider()
|
|
{
|
|
}
|
|
|
|
void CustomSlider::mousePressEvent(QMouseEvent *event)
|
|
{
|
|
if(event->button() != Qt::LeftButton)
|
|
{
|
|
QSlider::mousePressEvent(event);
|
|
|
|
return;
|
|
}
|
|
|
|
QSlider::mousePressEvent(event);
|
|
|
|
double pos = event->pos().x() /(double)width();
|
|
|
|
// int nMax = maximum();
|
|
// int nMin = minimum();
|
|
|
|
int nPos = ((maximum() - minimum() + 1) * pos) + minimum();
|
|
|
|
QSlider::setValue(nPos);
|
|
|
|
emit sigLeftMouseClicked(nPos);
|
|
}
|
|
|
|
void CustomSlider::mouseReleaseEvent(QMouseEvent *event)
|
|
{
|
|
if(event->button() != Qt::LeftButton)
|
|
{
|
|
QSlider::mousePressEvent(event);
|
|
|
|
return;
|
|
}
|
|
|
|
QSlider::mouseReleaseEvent(event);
|
|
|
|
emit sigLeftMouseReleased();
|
|
}
|