GUI base classes
BWidget, BMainWindow and BFrame: Qt base classes with geometry persistence and property communication.
Overview
quatm/GUI/widgets/quatmQt.py defines the base classes and common controls of the Quatm GUI
components: it provides window geometry persistence, the Properties property namespace, and a
combo box with completion.
Class hierarchy
QWidget → BWidget
QFrame → BFrame
QMainWindow → BMainWindow
Base classes and mixins
| Component | Description |
|---|---|
GeometrySaveMixin | Persists window geometry to QSettings (keyed by window name); saves on close, move and resize (debounced) |
BWidget | Quatm widget base class: carries the Properties namespace and geometry persistence |
BFrame | Base class corresponding to QFrame, with the same behaviour as BWidget |
BMainWindow | Main-window base class with geometry persistence and a property handle |
from quatm.GUI.widgets.quatmQt import BWidget, BMainWindow
widget = BWidget(name="my_widget", parent=None)
window = BMainWindow(name="MainWindow", parent=None)
Search and completion controls
| Component | Description |
|---|---|
CustomCompleter | Completer with match modes (contains = substring anywhere / begins = prefix) |
SearchComboBox | Combo box with autocompletion and type-ahead search; add_if_new() / find_or_add() maintain entries conveniently |
SearchLineEdit | Line edit for search boxes: selects all on focus, records on focus-out/Enter, restores on Escape |
from quatm.GUI.widgets.quatmQt import SearchComboBox
box = SearchComboBox(parent=parent)
box.add_if_new("my_stream")