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 every attr/generic_attr device, 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.