Skip to content

MdiArea

Qt Base Class: QMdiArea

Signature: QMdiArea(self, parent: Optional[PySide6.QtWidgets.QWidget] = None) -> None

Base classes

Name Children Inherits
AbstractScrollAreaMixin
prettyqt.widgets.abstractscrollarea
QMdiArea
PySide6.QtWidgets
QMdiArea(self, parent: Optional[PySide6.QtWidgets.QWidget] \= None) -> None

⋔ Inheritance diagram

graph TD
  1473296239296["widgets.MdiArea"]
  1473293679456["widgets.AbstractScrollAreaMixin"]
  1473293662864["widgets.FrameMixin"]
  1473293688240["widgets.WidgetMixin"]
  1473299815024["core.ObjectMixin"]
  140713234304496["builtins.object"]
  1473245548480["gui.PaintDeviceMixin"]
  1473290660336["QtWidgets.QMdiArea"]
  1473290616416["QtWidgets.QAbstractScrollArea"]
  1473290626176["QtWidgets.QFrame"]
  1473290849680["QtWidgets.QWidget"]
  1473288842240["QtCore.QObject"]
  1473291690208["Shiboken.Object"]
  1473300082368["QtGui.QPaintDevice"]
  1473293679456 --> 1473296239296
  1473293662864 --> 1473293679456
  1473293688240 --> 1473293662864
  1473299815024 --> 1473293688240
  140713234304496 --> 1473299815024
  1473245548480 --> 1473293688240
  140713234304496 --> 1473245548480
  1473290660336 --> 1473296239296
  1473290616416 --> 1473290660336
  1473290626176 --> 1473290616416
  1473290849680 --> 1473290626176
  1473288842240 --> 1473290849680
  1473291690208 --> 1473288842240
  140713234304496 --> 1473291690208
  1473300082368 --> 1473290849680
  1473291690208 --> 1473300082368

🛈 DocStrings

Bases: AbstractScrollAreaMixin, QMdiArea

Area in which MDI windows are displayed.

Source code in prettyqt\widgets\mdiarea.py
class MdiArea(widgets.AbstractScrollAreaMixin, widgets.QMdiArea):
    """Area in which MDI windows are displayed."""

    def __add__(self, other: widgets.QWidget):
        self.add(other)
        return self

    def set_view_mode(self, mode: ViewModeStr | widgets.QMdiArea.ViewMode):
        """Set view mode for the MDI area.

        Args:
            mode: view mode to use
        """
        self.setViewMode(VIEW_MODE.get_enum_value(mode))

    def get_view_mode(self) -> ViewModeStr:
        """Return current view mode.

        Returns:
            view mode
        """
        return VIEW_MODE.inverse[self.viewMode()]

    def set_window_order(self, mode: WindowOrderStr | widgets.QMdiArea.WindowOrder):
        """Set the window order behaviour for the MDI area.

        Args:
            mode: window order behaviour to use
        """
        self.setActivationOrder(WINDOW_ORDER.get_enum_value(mode))

    def get_window_order(self) -> WindowOrderStr:
        """Return current window order.

        Returns:
            view mode
        """
        return WINDOW_ORDER.inverse[self.activationOrder()]

    def set_tab_position(self, position: TabPositionStr | widgets.QTabWidget.TabPosition):
        """Set tab position for the MDI area.

        Args:
            position: tabs position to use
        """
        self.setTabPosition(TAB_POSITION.get_enum_value(position))

    def get_tab_position(self) -> TabPositionStr:
        """Return current tab position.

        Returns:
            tab position
        """
        return TAB_POSITION.inverse[self.tabPosition()]

    def set_background(
        self,
        brush_or_color: datatypes.ColorAndBrushType,
        pattern: constants.BrushStyleStr = "solid",
    ):
        if isinstance(brush_or_color, gui.QBrush):
            brush = brush_or_color
        else:
            color = colors.get_color(brush_or_color)
            brush = gui.Brush(color, constants.BRUSH_STYLE[pattern])
        self.setBackground(brush)

    def get_background(self) -> gui.Brush:
        return gui.Brush(self.background())

    def add(self, *item: widgets.QWidget):
        for i in item:
            self.add_subwindow(i)

    def add_subwindow(self, widget: widgets.QWidget) -> widgets.QMdiSubWindow:
        if not isinstance(widget, widgets.QMdiSubWindow):
            window = widgets.MdiSubWindow()
            window.setWidget(widget)
            self.addSubWindow(window)
            return window
        else:
            return self.addSubWindow(widget)

get_tab_position() -> TabPositionStr

Return current tab position.

Source code in prettyqt\widgets\mdiarea.py
def get_tab_position(self) -> TabPositionStr:
    """Return current tab position.

    Returns:
        tab position
    """
    return TAB_POSITION.inverse[self.tabPosition()]

get_view_mode() -> ViewModeStr

Return current view mode.

Source code in prettyqt\widgets\mdiarea.py
def get_view_mode(self) -> ViewModeStr:
    """Return current view mode.

    Returns:
        view mode
    """
    return VIEW_MODE.inverse[self.viewMode()]

get_window_order() -> WindowOrderStr

Return current window order.

Source code in prettyqt\widgets\mdiarea.py
def get_window_order(self) -> WindowOrderStr:
    """Return current window order.

    Returns:
        view mode
    """
    return WINDOW_ORDER.inverse[self.activationOrder()]

set_tab_position(position: TabPositionStr | widgets.QTabWidget.TabPosition)

Set tab position for the MDI area.

Parameters:

Name Type Description Default
position TabPositionStr | TabPosition

tabs position to use

required
Source code in prettyqt\widgets\mdiarea.py
def set_tab_position(self, position: TabPositionStr | widgets.QTabWidget.TabPosition):
    """Set tab position for the MDI area.

    Args:
        position: tabs position to use
    """
    self.setTabPosition(TAB_POSITION.get_enum_value(position))

set_view_mode(mode: ViewModeStr | widgets.QMdiArea.ViewMode)

Set view mode for the MDI area.

Parameters:

Name Type Description Default
mode ViewModeStr | ViewMode

view mode to use

required
Source code in prettyqt\widgets\mdiarea.py
def set_view_mode(self, mode: ViewModeStr | widgets.QMdiArea.ViewMode):
    """Set view mode for the MDI area.

    Args:
        mode: view mode to use
    """
    self.setViewMode(VIEW_MODE.get_enum_value(mode))

set_window_order(mode: WindowOrderStr | widgets.QMdiArea.WindowOrder)

Set the window order behaviour for the MDI area.

Parameters:

Name Type Description Default
mode WindowOrderStr | WindowOrder

window order behaviour to use

required
Source code in prettyqt\widgets\mdiarea.py
def set_window_order(self, mode: WindowOrderStr | widgets.QMdiArea.WindowOrder):
    """Set the window order behaviour for the MDI area.

    Args:
        mode: window order behaviour to use
    """
    self.setActivationOrder(WINDOW_ORDER.get_enum_value(mode))

⌗ Property table

Qt Property Type Doc
objectName QString
modal bool
windowModality Qt::WindowModality
enabled bool
geometry QRect
frameGeometry QRect
normalGeometry QRect
x int
y int
pos QPoint
frameSize QSize
size QSize
width int
height int
rect QRect
childrenRect QRect
childrenRegion QRegion
sizePolicy QSizePolicy
minimumSize QSize
maximumSize QSize
minimumWidth int
minimumHeight int
maximumWidth int
maximumHeight int
sizeIncrement QSize
baseSize QSize
palette QPalette
font QFont
cursor QCursor
mouseTracking bool
tabletTracking bool
isActiveWindow bool
focusPolicy Qt::FocusPolicy
focus bool
contextMenuPolicy Qt::ContextMenuPolicy
updatesEnabled bool
visible bool
minimized bool
maximized bool
fullScreen bool
sizeHint QSize
minimumSizeHint QSize
acceptDrops bool
windowTitle QString
windowIcon QIcon
windowIconText QString
windowOpacity double
windowModified bool
toolTip QString
toolTipDuration int
statusTip QString
whatsThis QString
accessibleName QString
accessibleDescription QString
layoutDirection Qt::LayoutDirection
autoFillBackground bool
styleSheet QString
locale QLocale
windowFilePath QString
inputMethodHints QFlags
frameShape QFrame::Shape
frameShadow QFrame::Shadow
lineWidth int
midLineWidth int
frameWidth int
frameRect QRect
verticalScrollBarPolicy Qt::ScrollBarPolicy
horizontalScrollBarPolicy Qt::ScrollBarPolicy
sizeAdjustPolicy QAbstractScrollArea::SizeAdjustPolicy
background QBrush
activationOrder QMdiArea::WindowOrder
viewMode QMdiArea::ViewMode
documentMode bool
tabsClosable bool
tabsMovable bool
tabShape QTabWidget::TabShape
tabPosition QTabWidget::TabPosition