Lets fix the Sphinx in-code documentation (Ignoring should never embed classes within other classes)
class FoldableDockWidget(QDockWidget):
"""
A simple Qt Widget that adds a 'minimise' button that vertically reduces the dock widget to just the titlebar to
allow the dock widget to still take up minimal screen real estate
"""
class TitleBarWidget(QWidget):
def __init__(self, title:str, parent:QWidget=None):
"""
We create a custom title bar using QWidget as the base. The title bar has to be wrapped in another widget
so that its background can be styled easier, otherwise it's impossible to style
:param title: the title to appear in the title bar
"""
Becomes
class FoldableDockWidget(QDockWidget):
"""
A simple Qt Widget that adds a 'minimise' button that vertically reduces the dock widget to just the titlebar to
allow the dock widget to still take up minimal screen real estate
"""
class TitleBarWidget(QWidget):
"""Create a custom title bar using :py:class:`~PySide6.QtWidgets.QWidget` as the base.
The title bar has to be wrapped in another widget so that its background can be styled
easier, otherwise it's impossible to style
:ivar title: the title to appear in the title bar
:vartype title: str
:ivar parent: Default None. Identify parent widget
:vartype parent: PySide6.QtWidgets.QWidget | None
"""
def __init__(self, title: str, parent: QWidget = None) -> None:
"""class constructor"""
typing matters. Normally separate typing into stub files. The Sphinx in-code documentation includes typing, so the signatures can be simplified and easier to read
def __init__(self, title, parent=None):