实验浏览器

Quatm 主窗口:实验浏览、队列管理、多窗口 MDI 工作区。

概述

quatm/GUI/browser/main_window.py 提供 实验浏览器(Browser):Quatm 的主应用 窗口,基于 QMainWindow + QMdiArea 多文档界面。左侧文件选择器浏览实验脚本, 顶部停靠实验队列、准备台与循环器,中央 MDI 区内每个实验一个子窗口。

布局

┌─────────────┬───────────────────────────────┐
│ FileSelector │   QMdiArea(实验子窗口区)      │
│ (实验文件树) │   ┌─────────────────────┐   │
│             │   │  ExperimentWindow    │   │
├─────────────┤   └─────────────────────┘   │
│ 队列 / 准备台 │                               │
│ / 循环器停靠  │                               │
└─────────────┴───────────────────────────────┘

核心组件

组件模块描述
FileSelectorbrowser/file_selector.py实验目录树,双击打开实验/模拟窗口
ExperimentWindowbrowser/experiment_window.py中央 MDI 中单个实验的控制面板
ExperimentQueueexperiment/experiment_queue.py表格化任务队列
ExperimentManagerexperiment/experiment_manager.py从队列取任务并执行
PrepStationexperiment/prepstation.py任务发往队列前的暂存与编辑
Looperlooper/ui.py按测量结果条件循环运行一组任务

上述组件的细节见本目录的对应页面。

生命周期

  • init_ui / create_dock_widgets:按屏幕适配默认几何,创建 MDI 画布与两侧停靠 部件(左侧文件选择器;顶部队列/准备台/循环器)。
  • open_experiment:打开实验窗口;已打开则从最小化恢复并置前。
  • closeEvent:先保存主窗口几何与全部实验子窗口状态,再停止队列/循环等 worker 线程,最后交给基类完成关闭。
  • moveEvent / resizeEvent:防抖保存几何,下次启动时恢复窗口位置与尺寸。

用法

from quatm.GUI.browser.main_window import Browser

browser = Browser()
browser.show()

实验浏览器是运行除 Helper 之外所有实验的界面,通常作为主进程由进程管理器启动。