参数系统
FloatBox/BoolBox/ComboBox——实验中参数参数的 GUI 控件体系。
概述
Quatm 提供了一套完整的参数 GUI 控件,将实验参数定义自动映射为可视化控件。所有控件继承 BasicManager 基类,通过 Properties 与实验运行时双向同步。
控件类体系
BasicManager (QFrame)
├── FloatManager → FloatBox (QDoubleSpinBox)
├── BoolManager → BoolBox (QCheckBox)
└── ComboManager → ComboBox (QComboBox)
FloatBox — 数值参数
from quatm.GUI.arg_boxes import FloatBox
box = FloatBox(
props=props,
value=NumberValue(100, unit='µs', minval=1, maxval=10000),
parent=parent,
display_multiplier=1,
step=10,
ndecimals=1,
)
| 参数 | 说明 |
|---|---|
value | NumberValue 实例,含默认值、单位、范围 |
display_multiplier | 显示倍率(如 µs→ms 转换) |
step | 步进值 |
ndecimals | 小数位数 |
BoolBox — 布尔开关
from quatm.GUI.arg_boxes import BoolBox
box = BoolBox(props=props, value=BoolValue(False), parent=parent)
ComboBox — 下拉选择
from quatm.GUI.arg_boxes import ComboBox
box = ComboBox(
props=props,
value=StringCombo(['q0', 'q1', 'q2']),
parent=parent,
)
数据流
用户调整控件 → Properties 更新 → 实验脚本读取 self.param
实验脚本写入 self.param → Properties 通知 → GUI 控件刷新