ui修改
This commit is contained in:
44
customslider.cpp
Normal file
44
customslider.cpp
Normal file
@@ -0,0 +1,44 @@
|
||||
#include "customslider.h"
|
||||
#include "globalhelper.h"
|
||||
|
||||
CustomSlider::CustomSlider(QWidget *parent)
|
||||
: QSlider(parent)
|
||||
{
|
||||
this->setMaximum(MAX_SLIDER_VALUE);
|
||||
}
|
||||
|
||||
CustomSlider::~CustomSlider()
|
||||
{
|
||||
}
|
||||
|
||||
void CustomSlider::mousePressEvent(QMouseEvent *ev)
|
||||
{
|
||||
bIsPressed = true;
|
||||
//注意应先调用父类的鼠标点击处理事件,这样可以不影响拖动的情况
|
||||
QSlider::mousePressEvent(ev);
|
||||
//获取鼠标的位置,这里并不能直接从ev中取值(因为如果是拖动的话,鼠标开始点击的位置没有意义了)
|
||||
double pos = ev->pos().x() / (double)width();
|
||||
setValue(pos * (maximum() - minimum()) + minimum());
|
||||
|
||||
emit SigCustomSliderValueChanged(this->value());
|
||||
}
|
||||
|
||||
void CustomSlider::mouseReleaseEvent(QMouseEvent *ev)
|
||||
{
|
||||
bIsPressed = false;
|
||||
QSlider::mouseReleaseEvent(ev);
|
||||
|
||||
//emit SigCustomSliderValueChanged();
|
||||
}
|
||||
|
||||
void CustomSlider::mouseMoveEvent(QMouseEvent *ev)
|
||||
{
|
||||
if (!bIsPressed)
|
||||
return;
|
||||
QSlider::mouseMoveEvent(ev);
|
||||
//获取鼠标的位置,这里并不能直接从ev中取值(因为如果是拖动的话,鼠标开始点击的位置没有意义了)
|
||||
double pos = ev->pos().x() / (double)width();
|
||||
setValue(pos * (maximum() - minimum()) + minimum());
|
||||
|
||||
emit SigCustomSliderValueChanged(this->value());
|
||||
}
|
||||
Reference in New Issue
Block a user