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

ComponentDescription
GeometrySaveMixinPersists window geometry to QSettings (keyed by window name); saves on close, move and resize (debounced)
BWidgetQuatm widget base class: carries the Properties namespace and geometry persistence
BFrameBase class corresponding to QFrame, with the same behaviour as BWidget
BMainWindowMain-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

ComponentDescription
CustomCompleterCompleter with match modes (contains = substring anywhere / begins = prefix)
SearchComboBoxCombo box with autocompletion and type-ahead search; add_if_new() / find_or_add() maintain entries conveniently
SearchLineEditLine 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")