Files
HPPA/HPPA/QDoubleSlider.cpp
tangchao0503 e43d60e264 add:
1、增加显微镜场景:添加显微镜3D模型;
2、设置界面添加确认按钮;

fix:
1、相机看板:(1)帧率*积分时间=999,防止nir崩溃(2)记录帧率和积分时间,下次打开软件后恢复;(3)只能拖动slider改变值,不能点击slider改变值;
2、加入判断,不能多次打开同一个影像;
3、图像控制看板:只能拖动slider改变值,不能点击slider改变值;
2026-04-16 16:43:28 +08:00

72 lines
1.4 KiB
C++

#include "stdafx.h"
#include "qDoubleSlider.h"
QDoubleSlider::QDoubleSlider(QWidget* pParent /*= NULL*/) :
QSlider(pParent),
m_Multiplier(100.0)
{
connect(this, SIGNAL(valueChanged(int)), this, SLOT(notifyValueChanged(int)));
setSingleStep(0);
setPageStep(0);
setRange(1, 500);
setOrientation(Qt::Horizontal);
setFocusPolicy(Qt::NoFocus);
}
//向外发射
void QDoubleSlider::notifyValueChanged(int Value)
{
emit valueChanged((double)Value / m_Multiplier);
}
//接收外边
void QDoubleSlider::setValue(double Value, bool BlockSignals)
{
QSlider::blockSignals(BlockSignals);
QSlider::setValue(Value * m_Multiplier);
if (!BlockSignals)
emit valueChanged(Value);
QSlider::blockSignals(false);
}
void QDoubleSlider::setRange(double Min, double Max)
{
QSlider::setRange(Min * m_Multiplier, Max * m_Multiplier);
emit rangeChanged(Min, Max);
}
void QDoubleSlider::setMinimum(double Min)
{
QSlider::setMinimum(Min * m_Multiplier);
emit rangeChanged(minimum(), maximum());
}
double QDoubleSlider::minimum() const
{
return QSlider::minimum() / m_Multiplier;
}
void QDoubleSlider::setMaximum(double Max)
{
QSlider::setMaximum(Max * m_Multiplier);
emit rangeChanged(minimum(), maximum());
}
double QDoubleSlider::maximum() const
{
return QSlider::maximum() / m_Multiplier;
}
double QDoubleSlider::value() const
{
int Value = QSlider::value();
return (double)Value / m_Multiplier;
}