实验参数管理器
该代码定义了一个用于管理和监控多个进程的图形用户界面(GUI)应用程序。
DefaultExp
类概述
DefaultExp
是一个实验类,包含所有设备的属性,并组织这些属性以便于管理和访问。
方法详解
build(self)
- 功能:
- 设置实验的初始参数,如计数器。
- 遍历设备数据库,加载设备并根据设备类型进行分组。
- 处理属性的加载错误,并将设备分为显示和隐藏两类。
run(self)
- 功能:
- 运行实验的主要逻辑(此处为空实现,作为模板)。
BasicManager
类概述
BasicManager
是一个基础管理类,用于创建和管理各种类型的参数小部件。
构造方法
参数说明:
props
:属性对象,用于与属性数据库交互。parent
:父级小部件。kwargs
:其他参数,用于初始化属性。
功能:
- 初始化基础属性,如单位、最大最小值、步长等。
- 设置样式并调用
_initGUI
方法。
方法详解
_initGUI(self)
- 功能:
- 初始化图形界面,创建布局和标签。
- 如果存在工具提示,则设置工具提示。
- 创建定时器,用于定期更新参数值。
updateSpin(self)
- 功能:
- 占位方法,用于在子类中实现具体的更新逻辑。
IntManager
类概述
IntManager
继承自 BasicManager
,用于管理整数类型的参数。
方法详解
initSpin(self)
- 功能:
- 创建一个整数选择框 (
QSpinBox
)。 - 从属性对象中获取初始值并设置到选择框中。
- 连接选择框的值变化信号到
updateValue
方法。
- 创建一个整数选择框 (
updateValue(self, v)
参数:
v
:新值。
功能:
- 更新实验和属性对象中的参数值。
updateSpin(self)
- 功能:
- 检查属性对象中的值是否有变化,如果有变化,则更新选择框中的值。
BoolManager
类概述
BoolManager
继承自 QCheckBox
,用于管理布尔类型的参数。
方法详解
updateValue(self, val)
参数:
val
:新值。
功能:
- 更新实验和属性对象中的布尔值。
updateCheckbox(self)
- 功能:
- 检查属性对象中的布尔值是否有变化,如果有变化,则更新复选框的状态。
FloatManager
类概述
FloatManager
继承自 IntManager
,用于管理浮点数类型的参数。
方法详解
initSpin(self)
- 功能:
- 创建一个浮点数选择框 (
QDoubleSpinBox
)。 - 从属性对象中获取初始值并设置到选择框中。
- 连接选择框的值变化信号到
updateValue
方法。
- 创建一个浮点数选择框 (
ComboManager
类概述
ComboManager
继承自 BasicManager
,用于管理下拉列表类型的参数。
方法详解
initSpin(self)
- 功能:
- 创建一个下拉列表 (
QComboBox
)。 - 根据提供的字符串列表初始化下拉列表的选项。
- 连接下拉列表的选项变化信号到
updateValue
方法。
- 创建一个下拉列表 (
updateValue(self, v)
参数:
v
:新值。
功能:
- 更新实验和属性对象中的选项值。
FrequencyManager
类概述
FrequencyManager
继承自 IntManager
,用于管理频率类型的参数。
方法详解
initSpin(self)
- 功能:
- 创建一个浮点数选择框 (
QDoubleSpinBox
),用于选择频率值。 - 从属性对象中获取初始值并设置到选择框中。
- 连接选择框的值变化信号到
updateValue
方法。
- 创建一个浮点数选择框 (
SimpleDefaults
类概述
SimpleDefaults
继承自 QFrame
,用于显示和管理实验的默认参数。
构造方法
- 功能:
- 初始化属性对象和实验对象。
- 调用实验对象的
build
方法构建实验。 - 创建和设置主布局。
- 根据实验的分组创建相应的参数管理小部件,并添加到布局中。
主函数
main()
- 功能:
- 创建应用程序实例。
- 创建
SimpleDefaults
窗口并显示。 - 启动应用程序的事件循环。
使用场景
- 该代码主要用于科学实验和数据采集系统中,帮助管理和显示实验的各种参数。
- 适用于需要频繁调整参数和查看参数变化的场景,如实验室研究和工业控制系统。