增加通讯协议

This commit is contained in:
xu
2026-10-14 09:59:42 +08:00
parent 32878a9a80
commit 950e9e6c9e
102 changed files with 5538 additions and 2679 deletions
+17 -5
View File
@@ -4,10 +4,13 @@
#include <QWidget>
class QLabel;
class QLineEdit;
class QPushButton;
class QHBoxLayout;
// ===================== 参数调节控件 =====================
// 参数名 + 大数值显示 + 减/加按钮 + 保存按钮(可选)+ 恢复出厂值按钮(可选)
// 参数名 + 数值输入框(点击/回车弹出数字键盘,↑/↓ 按档加减)+ 保存按钮(可选)+ 恢复出厂值按钮(可选)
// 旋钮接口 adjustByKnob():调大/调小,数值框的 ↑/↓ 走的就是这条路径
class ParamControl : public QWidget
{
Q_OBJECT
@@ -19,18 +22,24 @@ public:
void setValue(double v);
double value() const { return m_value; }
void setEnabled(bool enabled);
void setCentered(bool on); // 参数名与数值行水平居中(默认左对齐)
QWidget* editor() const; // 数值输入框(供页面编排 Tab 顺序)
public slots:
// 旋钮接口:steps > 0 右旋调大、steps < 0 左旋调小;每格 = m_step
void adjustByKnob(int steps);
signals:
void valueChanged(double v);
void saveClicked();
void factoryResetClicked();
private slots:
void onMinus();
void onPlus();
protected:
bool eventFilter(QObject* obj, QEvent* ev) override; // 数值框:点击/回车 → 数字键盘,↑/↓ → 按档调值
private:
void refresh();
void openNumPad();
QString m_name;
QString m_unit;
@@ -38,7 +47,10 @@ private:
double m_min;
double m_max;
double m_value;
QLabel* m_valueLabel = nullptr;
QLineEdit* m_valueEdit = nullptr;
QLabel* m_unitLabel = nullptr;
QLabel* m_nameLabel = nullptr;
QHBoxLayout* m_valRow = nullptr;
QPushButton* m_save = nullptr;
QPushButton* m_factory = nullptr;
};