This commit is contained in:
2025-09-25 16:56:53 +08:00
parent e44678d519
commit 1d9da56656
88 changed files with 18171 additions and 0 deletions

44
customslider.cpp Normal file
View 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());
}