实验窗口

单实验控制窗口:动态参数网格、提交/扫描与参数持久化。

概述

quatm/GUI/browser/experiment_window.py 提供 实验窗口(ExperimentWindow): 每个实验脚本在浏览器 MDI 区对应一个由 ExperimentSubWindow 承载的控制窗口,按 实验声明的参数对象自动生成参数网格,负责提交队列/预备、扫描构建与 JSON 参数存取 。

组件

组件说明
ExperimentSubWindow图形容器:保存窗口几何并把窗口钳制在可视区内
ExperimentWindow单实验控制面板:参数网格 + 提交/扫描/保存控件
SequenceEditor扫描序列对话框:逐维设定起止与步数生成 nD 扫描

关键方法(ExperimentWindow)

方法说明
submit_to_queue把当前实验提交到实验队列执行(各提交入口的统一入口)
submit_next以最高优先级提交,排在所有已有任务之前
submit_to_prepper提交到准备台(PrepStation)暂存
setup_scan按扫描定义构建扫描序列(参数值与随机运行顺序)
setup_task_dict构造存入队列/准备台的任务字典
build_argument_dict由参数网格各控件取值生成完整参数字典
save_params / load_params参数存为 JSON(按日期/时间命名,可备份)与回载
adaptive_columns按窗口宽度自动重排参数网格列数(约每 200 px 增一列)
edit_sequence打开扫描序列编辑窗口并应用新序列

用法

from quatm.GUI.browser.experiment_window import ExperimentWindow

# 通常由 Browser.open_experiment 打开;也可自行构造
win = ExperimentWindow(filepath=..., props=props, parent=subwindow, browser=browser)

实验脚本声明的参数对象(如 NumberValue / BoolValue / StringCombo)会自动生 成带标签、单位与范围的编辑控件;参数组可保存为 json 并在以后加载复用。