Experiment parameter panel
DefaultExp + Dashboard: a whole-device parameter control panel built automatically from the device database.
Overview
The Dashboard (quatm/GUI/entries/dashboard.py) is the “control panel” main widget driven by the
default experiment (DefaultExp): DefaultExp assembles the parameters of the whole machine
from the device database automatically, and Dashboard then arranges these parameters in sections
by integer/float/boolean and as a grouped grid, forming an adjustable parameter control interface.
Class hierarchy
DefaultExp (experiment base class: auto-assembles device properties and groups them)
└─ Dashboard (control panel: sections + grouped grid + adaptive column count)
└─ manager widgets (IntManager / FloatManager / BoolManager / ComboManager …)
Key features
- Automatic assembly:
DefaultExp.build()walks the device library and creates a parameter object for everyattr/generic_attrdevice, classifying it by its group. - Sections by type: the interface is split into integer / float / boolean sections, and the parameters are grouped within each section.
- Adaptive column count:
adaptive_columns()reflows according to the window width (starting at 4 columns, adding one column per ~200 px), so that narrow windows are not squeezed. - Immediate effect: changing a spin box writes back to the properties and straight through to the
hardware (the run body
run()is empty, which suits purely manual tuning).
Usage (schematic)
from quatm.GUI.entries.dashboard import Dashboard, DefaultExp
# DefaultExp auto-assembles the device parameters; Dashboard handles layout and grouping
page = Dashboard(parent=parent)
The “Parameter system” page describes the manager control classes behind it.