Rogue Widgets
Rogue provides PyDM widgets that understand common PyRogue structures and workflows. These are most useful when building custom screens, because they let you reuse the same tree-aware controls that appear in the stock debug tools.
The main widgets exported by pyrogue.pydm.widgets are:
SystemWindow: Top-level system window that combines root controls, run control widgets, data-writer widgets, and the system log.RootControl: Widget for reset actions and configuration file management.RunControl: Widget for apyrogue.RunControlDevice.DataWriter: Widget for apyrogue.DataWriterDevice.SystemLog: Widget that displays the Rogue system log.Process: Widget for apyrogue.ProcessDevice.DebugTree: Tree browser for Devices, Variables, and Commands.PyRogueLabel: Label widget with Rogue-oriented unit display handling.PyRogueLineEdit: Rogue-aware line edit that keeps the stale-value visual state.Plotter: General plotting widget exported by the widget package.TimePlotter: Plotting widget for time-varying values.
These widgets are not just cosmetic wrappers. Several of them inspect the
connected Rogue node and build out a larger Qt layout dynamically after the
channel connects. For example, SystemWindow discovers DataWriter and
RunControl devices under the bound Root and adds matching subwidgets.
How To Use Them
These widgets are typically placed in a Qt Designer .ui file and then bound
to Rogue channels such as:
rogue://0/root
rogue://0/root.MyProcess
rogue://0/root.MyDevice.MyVariable/disp
Some widgets expect to bind to a Root-level path, while others expect a specific Device or Variable path. In general:
SystemWindowandDebugTreeare Root-oriented.Process,RunControl, andDataWriterare Device-oriented.PyRogueLabelandPyRogueLineEditare typically Variable-oriented.
When in doubt, inspect the widget’s constructor and connection_changed
implementation in python/pyrogue/pydm/widgets. Most path requirements are
clear there because the widget appends explicit child paths such as
.SystemLog or .runState after connecting.
Choosing Between Stock And Custom Widgets
Use the stock debug GUI when you want a ready-made environment for broad tree inspection. Use custom screens with Rogue widgets when you want:
A reduced operator-facing surface,
A system-specific workflow,
Or a custom layout that focuses on the important Variables and Commands.
For code-constructed displays, the normal top-level object is a
pydm.Display subclass. Rogue’s widgets are then added to that
display just like any other Qt/PyDM widget tree. The launcher details for that
pattern are covered in Starting The Rogue PyDM GUI.
What To Explore Next
Rogue channel syntax and modes: Channel URLs
Launching a custom UI file: Starting The Rogue PyDM GUI
Time-series plotting workflows: Starting The Rogue PyDM Timeplot GUI
API Reference
Rogue PyDM widget API index: pyrogue.pydm.widgets