实验任务预备队列管理器
预备任务(准备台)的表格模型:PrepModel 列表模型与队列 ScheduleModel。
概述
quatm/GUI/widgets/models.py 提供把 Python 字典 / 列表映射为 Qt 表格模型的基类
(源自 ARTIQ models)。预备队列(准备台)用列表型 PrepModel:预备任务不需要
唯一 ID、顺序可自由调整;实验队列用字典型 ScheduleModel(按优先级再按任务号
排序)。
核心类
| 类 | 说明 |
|---|---|
_SyncSubstruct | 包装底层容器的字典操作辅助(append/insert/pop 回调刷新) |
DictSyncModel | 字典→表格模型基类 |
ListSyncModel | 列表→表格模型基类 |
ScheduleModel | 实验队列(ExperimentQueue)模型:任务按优先级/任务号排序 |
PrepModel | 预备队列(PrepStation)模型:列表型,顺序可调 |
具体业务模型通过子类实现 convert(键/值/列转单元格内容)、sort_key(排序键)
与 flags(编辑标志)三个钩子。
用法
from quatm.GUI.widgets.models import PrepModel
model = PrepModel(init=prep_list) # 预备任务列表