Files
HPPA/HPPA/QMotorDoubleSlider.h
2026-04-02 10:34:57 +08:00

42 lines
1.3 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifndef Q_MOTOR_DOUBLE_SLIDER_H
#define Q_MOTOR_DOUBLE_SLIDER_H
#include <QtGui/QtGui>
#include <QSlider>
#include "hppaConfigFile.h"
#include "path_tc.h"
class QMotorDoubleSlider : public QSlider
{
Q_OBJECT
public:
QMotorDoubleSlider(QWidget* pParent = NULL);
void setMultiplier(float lead, float stepAnglemar, float scaleFactor, int subdivisionParam);
int getValidSubdivision(int subdivisionParam);
double m_Multiplier;//根据公式将脉冲换算为距离1脉冲距离(m_Multiplier)=导程/(360/步距角*细分倍数)网址https://wenku.baidu.com/view/4b2ea88bd0d233d4b14e69b8.html
void setRange(double Min, double Max);
void setMinimum(double Min);
double minimum() const;
void setMaximum(double Max);
double maximum() const;
double value() const;
double OriginalValue() const;//返回脉冲值:马达需要实际的脉冲值,而不是距离
long getPositionPulse(double position);//根据传入的距离返回脉冲值
double getDistanceFromPulse(int pulse);
public slots:
void notifyValueChanged(int value);//信号valueChanged(int)的wrap
void setValue(double Value, bool BlockSignals = true);//QSlider::setValue函数的wrap
signals:
void valueChanged(double Value);
void rangeChanged(double Min, double Max);
private:
};
#endif