实验浏览器 (Browser)
Quatm 主窗口——实验浏览、文件选择、队列管理和多窗口工作区。
概述
Browser 是 Quatm 的主应用程序窗口,基于 QMainWindow + QMdiArea 多文档界面架构。它将文件浏览、实验队列、任务管理和代码编辑整合在统一工作区中。
架构
┌─────────────┬──────────────────────────────────┐
│ FileSelector │ QMdiArea (子窗口区) │
│ (实验目录树) │ ┌──────────┬─────────────────┐ │
│ │ │Experiment │ CodeEditor │ │
├─────────────┤ │Window │ (实验代码编辑) │ │
│ ExperimentQ │ └──────────┴─────────────────┘ │
│ (任务队列) │ │
├─────────────┤ │
│ PrepStation │ │
│ (准备台) │ │
├─────────────┤ │
│ Looper │ │
│ (循环器) │ │
└─────────────┴──────────────────────────────────┘
核心组件
| 组件 | 类 | 描述 |
|---|---|---|
| 实验目录 | FileSelector | experiments/ 目录树,双击打开实验文件 |
| 任务队列 | ExperimentQ | 表格化任务列表,支持暂停/终止/删除 |
| 任务执行 | ExperimentManager | 从队列取出任务并调度执行 |
| 准备台 | PrepStation | 编辑和预览实验参数后推入队列 |
| 循环器 | Looper | 根据测量结果条件循环运行 |
| 代码编辑 | CodeEditor | 基于 QScintilla 的 Python 代码编辑器 |
启动
from quatm.GUI.browser import Browser
browser = Browser()
browser.show()
或从命令行:
python -m quatm.GUI.browser
窗口持久化
Browser 继承 QMainWindow,通过 QSettings 自动保存和恢复:
- 主窗口几何位置和大小
- 已打开的
ExperimentWindow子窗口及其文件路径