GUI 组件

Quatm 的图形界面组件:实验浏览、参数编辑、任务调度、数据可视化与设备监控。

Quatm 提供了完整的可视化图形界面。以下是所有 GUI 组件的详细文档。

组件索引

组件文档简介
🔍 实验浏览器主窗口:文件树、队列/准备台/循环器与 MDI 实验窗口
⚙️ 实验管理器核心执行引擎:测量→序列→单次运行的生命周期管理
📋 实验队列任务队列表格:优先级排序、状态跟踪、暂停/终止/重启
📝 准备台参数暂存、复制、循环构建后推入队列
🔁 循环器条件循环:根据测量结果自动切换实验组
🪟 实验窗口单实验控制:动态参数网格、提交/扫描与 JSON 参数
🎛️ 参数系统FloatBox/BoolBox/ComboBox:参数 GUI 控件体系
🌲 属性编辑器基于 ParameterTree 的键值浏览
📈 实时绘图实时一维数据流:多曲线、缩放、订阅管理
💡 LED指示灯红/绿 LED 状态灯:径向渐变动画
🧱 GUI基础类BWidget/BMainWindow/BFrame,窗口持久化
📷 图像监视器自动刷新图像显示:订阅图像/掩码流、降噪与亮斑检测
📊 分析管理器分析进程的启动/停止/状态监控
📡 数据流监视器多类型数据流:曲线/图像/消息三合一监视
✏️ 序列编辑器代码编辑 + 解析模拟与输出通道时序可视化
进程管理器五类后台进程(Server/Driver/GUI/Viewer/Monitor)
🔌 设备管理器PyVISA 设备发现与驱动绑定
💾 数据存储HDF5 存储/加载 + 定时自动保存
⏱️ 自动保存定时保存时间表编辑器
📈 实时滚动图实时滚动折线/散点图:运行平均 + 多曲线
📐 数据模型DictSyncModel:字典/列表到 Qt 表格映射
🔧 实验辅助ODT 对准 + 电场补偿 + 压电镜 + Verdi 对准
🎚️ 参数框紧凑型标签-数值实时参数显示
🗂️ 可折叠组件手风琴式可折叠面板对话框
🧩 实验参数面板实验参数控制面板
🔌 DAC 控制器FPGA DAC 手动设置工具
🧵 后台工作线程QRunnable 后台工作线程:信号驱动
⏱️ 时序浏览器实验时序可视化(DAC+TTL 图表)
📊 滚动波形窗口多通道实时滚动波形显示
📡 订阅编辑器数据/图像流订阅管理
📋 表格参数实验参数树表格编辑节点
🎯 远程 ROI可远程同步的 ROI 组件
🖼️ 图像查看器科学图像查看器(线剖面+LUT)
🔔 属性检查器属性健康轮询+异常告警
📐 辅助绘图工具通用测量数据绘图(多Y轴+滤波+拟合)

架构总览

┌──────────────────────────────────────┐
│            Browser(主窗口)            │
├────────────────┬─────────────────────┤
│ FileSelector   │    QMdiArea          │
│ (实验文件树)    │   ExperimentWindow   │
│                │   (单实验控制窗口)    │
├────────────────┴─────────────────────┤
│  顶部停靠:实验队列 / 准备台 / 循环器      │
├──────────────────────────────────────┤
│       ExperimentManager(执行引擎)     │
└──────────────────────────────────────┘

相关模块一览

主题模块
队列/准备台表格模型widgets/models.py(ScheduleModel / PrepModel)
订阅编辑editors/subscription_editor.py
自动保存时间表editors/auto_save_editor.py
属性树编辑entries/property_editor.py
实时更新绘图entries/updating_plot.py
滚动波形 / 实时滚动图entries/scrollwindow.pyentries/live_plot.py
数据流监控streammonitor/
图像监控 / 图像查看entries/image_monitor.pyentries/image_group.py
对准辅助alignment/(odt / comp / verdi helper)
压电镜控制entries/piezo_mirror_controler.py
H5 数据管理h5storage/

启动

主程序 实验浏览器 与各独立工具通常由进程管理器(ProcessManager)按类别启动, 也可在程序中直接实例化对应主窗口类(见各组件页面用法)。


实验浏览器

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

实验管理器

核心实验执行引擎:从实验队列取任务并按测量/序列/运行层级调度。

实验队列

任务队列表格面板:维护实验任务的优先级排序、状态跟踪与生命周期管理(暂停/终止/休眠/删除)。

准备台

实验参数暂存与编辑区:在推入队列前预览、排序和微调任务。

循环器

条件循环执行器:根据测量结果自动决定是否重复、跳转或终止实验循环。

实验窗口

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

参数系统

BasicManager 参数管理器体系:把实验属性映射为数值/布尔/下拉/频率控件。

属性编辑器

基于 ParameterTree 的属性查看与编辑工具。

实时绘图

订阅数据流并持续更新的实时绘图项及其控件容器。

LED 指示灯

LED 状态指示灯:支持绿/红/青配色、径向渐变与亮灭两种外观。

GUI 基础类

BWidget、BMainWindow、BFrame:带几何持久化和属性通信的 Qt 基类。

图像监视器

自动更新的图像显示控件:订阅图像/掩码流、降噪与亮斑检测、级别与 ROI 配置。

分析管理器

树形视图面板:管理分析脚本的启动、停止、状态监控与自动重启。

数据流监视器

数据流监控:数据/图像/命令/消息多标签监控与单流面板。

序列编辑器

实验代码编辑与序列模拟:语法高亮、解析与输出通道时序可视化。

进程管理器

分布式进程面板:按 Servers/Driver/GUI/Viewer/Monitor 分类启停后台进程。

设备管理器

PyVISA 设备发现与驱动绑定:枚举、查询、选择仪器并关联驱动文件。

数据存储

HDF5 数据管理:订阅、定时/手动保存与历史回读,含绘图一体化面板。

实时滚动图

实时滚动绘图:环形缓冲、滑动平均与数据流订阅。

自动保存编辑器

自动保存时间点列表编辑器:配置一组(勾选 + 日期时间)的周期保存时刻。

实验辅助工具

光镊对准、杂散场补偿:实验自动化校准与优化工具集。

数据模型

DictSyncModel/ListSyncModel:将 Python 字典/列表自动映射为 Qt 表格。

可折叠组件

CollapsibleDialog:可折叠/展开的树形对话框。

参数框

与实验参数绑定的输入控件:浮点、布尔与下拉参数框,改动即写回参数。

实验参数面板

DefaultExp + Dashboard:从设备数据库自动构建的整机参数控制面板。

FPGA DAC 控制

FPGA 的简易手动控制界面:16 路 DAC 电压与 32 路 TTL 位掩码设置。

后台工作线程

Worker/WorkerSignals:通用 QRunnable 后台线程封装。

实验时间线

FPGA 实验时序可视化:DAC 与 TTL 输出通道随时间变化的图表查看器。

滚动波形窗口

多通道实时滚动数据查看窗口:子图缓冲、数据流订阅与动态刷新。

订阅编辑器

管理数据/图像流的订阅列表:添加、删除与热更新已订阅的数据源。

表格参数

基于 QTableWidget 的 numpy 结构化数组编辑器,用于参数树。

远程 ROI

通过中心属性库发布颜色/位置/尺寸、可远程同步的 ROI 组件。

图像查看器

科学图像查看主窗口:中央图像显示器加行/列线剖面与直方图色标停靠面板。

属性检查器

属性分发看门狗:验证 Properties 中枢确实在广播更新。

辅助绘图

通用测量数据绘图组件:数据源/多 y 轴、过滤、分箱与拟合。