QMdiArea#
The QMdiArea
widget provides an area in which MDI windows are displayed. More…
Synopsis#
Properties#
activationOrder
- The ordering criteria for subwindow listsbackground
- The background brush for the workspacedocumentMode
- Whether the tab bar is set to document mode in tabbed view modetabPosition
- The position of the tabs in tabbed view modetabShape
- The shape of the tabs in tabbed view modetabsClosable
- Whether the tab bar should place close buttons on each tab in tabbed view modetabsMovable
- Whether the user can move the tabs within the tabbar area in tabbed view modeviewMode
- The way sub-windows are displayed in the QMdiArea
Functions#
def
activationOrder
()def
activeSubWindow
()def
addSubWindow
(widget[, flags=Qt.WindowFlags()])def
background
()def
currentSubWindow
()def
documentMode
()def
removeSubWindow
(widget)def
setActivationOrder
(order)def
setBackground
(background)def
setDocumentMode
(enabled)def
setOption
(option[, on=true])def
setTabPosition
(position)def
setTabShape
(shape)def
setTabsClosable
(closable)def
setTabsMovable
(movable)def
setViewMode
(mode)def
subWindowList
([order=QMdiArea.WindowOrder.CreationOrder])def
tabPosition
()def
tabShape
()def
tabsClosable
()def
tabsMovable
()def
testOption
(opton)def
viewMode
()
Slots#
def
activateNextSubWindow
()def
activatePreviousSubWindow
()def
cascadeSubWindows
()def
closeActiveSubWindow
()def
closeAllSubWindows
()def
setActiveSubWindow
(window)def
tileSubWindows
()
Signals#
def
subWindowActivated
(arg__1)
Note
This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE
Detailed Description#
Warning
This section contains snippets that were automatically translated from C++ to Python and may contain errors.
QMdiArea
functions, essentially, like a window manager for MDI windows. For instance, it draws the windows it manages on itself and arranges them in a cascading or tile pattern. QMdiArea
is commonly used as the center widget in a QMainWindow
to create MDI applications, but can also be placed in any layout. The following code adds an area to a main window:
mainWindow = QMainWindow() mainWindow.setCentralWidget(mdiArea)
Unlike the window managers for top-level windows, all window flags ( WindowFlags
) are supported by QMdiArea
as long as the flags are supported by the current widget style. If a specific flag is not supported by the style (e.g., the WindowShadeButtonHint
), you can still shade the window with showShaded().
Subwindows in QMdiArea
are instances of QMdiSubWindow
. They are added to an MDI area with addSubWindow()
. It is common to pass a QWidget
, which is set as the internal widget, to this function, but it is also possible to pass a QMdiSubWindow
directly. The class inherits QWidget
, and you can use the same API as with a normal top-level window when programming. QMdiSubWindow
also has behavior that is specific to MDI windows. See the QMdiSubWindow
class description for more details.
A subwindow becomes active when it gets the keyboard focus, or when setFocus()
is called. The user activates a window by moving focus in the usual ways. The MDI area emits the subWindowActivated()
signal when the active window changes, and the activeSubWindow()
function returns the active subwindow.
The convenience function subWindowList()
returns a list of all subwindows. This information could be used in a popup menu containing a list of windows, for example.
The subwindows are sorted by the current WindowOrder
. This is used for the subWindowList()
and for activateNextSubWindow()
and activatePreviousSubWindow()
. Also, it is used when cascading or tiling the windows with cascadeSubWindows()
and tileSubWindows()
.
QMdiArea
provides two built-in layout strategies for subwindows: cascadeSubWindows()
and tileSubWindows()
. Both are slots and are easily connected to menu entries.
- class PySide6.QtWidgets.QMdiArea([parent=None])#
- Parameters:
parent –
PySide6.QtWidgets.QWidget
Constructs an empty mdi area. parent
is passed to QWidget
‘s constructor.
Note
Properties can be used directly when from __feature__ import true_property
is used or via accessor functions otherwise.
- property PᅟySide6.QtWidgets.QMdiArea.activationOrder: WindowOrder#
This property holds the ordering criteria for subwindow lists.
This property specifies the ordering criteria for the list of subwindows returned by subWindowList()
. By default, it is the window creation order.
See also
- Access functions:
setActivationOrder
(order)
- property PᅟySide6.QtWidgets.QMdiArea.background: PySide6.QtGui.QBrush#
This property holds the background brush for the workspace.
This property sets the background brush for the workspace area itself. By default, it is a gray color, but can be any brush (e.g., colors, gradients or pixmaps).
- Access functions:
background
()setBackground
(background)
- property PᅟySide6.QtWidgets.QMdiArea.documentMode: bool#
This property holds whether the tab bar is set to document mode in tabbed view mode..
Document mode is disabled by default.
See also
- Access functions:
documentMode
()setDocumentMode
(enabled)
- property PᅟySide6.QtWidgets.QMdiArea.tabPosition: TabPosition#
This property holds the position of the tabs in tabbed view mode..
Possible values for this property are described by the TabPosition
enum.
See also
TabPosition
setViewMode()
- Access functions:
tabPosition
()setTabPosition
(position)
- property PᅟySide6.QtWidgets.QMdiArea.tabShape: TabShape#
This property holds the shape of the tabs in tabbed view mode..
Possible values for this property are Rounded
(default) or Triangular
.
See also
TabShape
setViewMode()
- Access functions:
tabShape
()setTabShape
(shape)
- property PᅟySide6.QtWidgets.QMdiArea.tabsClosable: bool#
This property holds whether the tab bar should place close buttons on each tab in tabbed view mode..
Tabs are not closable by default.
See also
- Access functions:
tabsClosable
()setTabsClosable
(closable)
- property PᅟySide6.QtWidgets.QMdiArea.tabsMovable: bool#
This property holds whether the user can move the tabs within the tabbar area in tabbed view mode..
Tabs are not movable by default.
See also
movable
setViewMode()
- Access functions:
tabsMovable
()setTabsMovable
(movable)
- property PᅟySide6.QtWidgets.QMdiArea.viewMode: ViewMode#
This property holds the way sub-windows are displayed in the QMdiArea
..
By default, the SubWindowView
is used to display sub-windows.
See also
ViewMode
setTabShape()
setTabPosition()
- Access functions:
viewMode
()setViewMode
(mode)
- PySide6.QtWidgets.QMdiArea.AreaOption#
(inherits enum.Flag
) This enum describes options that customize the behavior of the QMdiArea
.
Constant
Description
QMdiArea.DontMaximizeSubWindowOnActivation
When the active subwindow is maximized, the default behavior is to maximize the next subwindow that is activated. Set this option if you do not want this behavior.
- PySide6.QtWidgets.QMdiArea.WindowOrder#
Specifies the criteria to use for ordering the list of child windows returned by subWindowList()
. The functions cascadeSubWindows()
and tileSubWindows()
follow this order when arranging the windows.
Constant
Description
QMdiArea.CreationOrder
The windows are returned in the order of their creation.
QMdiArea.StackingOrder
The windows are returned in the order in which they are stacked, with the top-most window being last in the list.
QMdiArea.ActivationHistoryOrder
The windows are returned in the order in which they were activated.
See also
- PySide6.QtWidgets.QMdiArea.ViewMode#
This enum describes the view mode of the area; i.e. how sub-windows will be displayed.
Constant
Description
QMdiArea.SubWindowView
Display sub-windows with window frames (default).
QMdiArea.TabbedView
Display sub-windows with tabs in a tab bar.
See also
- PySide6.QtWidgets.QMdiArea.activateNextSubWindow()#
Gives the keyboard focus to another window in the list of child windows. The window activated will be the next one determined by the current activation order
.
See also
activatePreviousSubWindow()
WindowOrder
- PySide6.QtWidgets.QMdiArea.activatePreviousSubWindow()#
Gives the keyboard focus to another window in the list of child windows. The window activated will be the previous one determined by the current activation order
.
See also
activateNextSubWindow()
WindowOrder
- PySide6.QtWidgets.QMdiArea.activationOrder()#
- Return type:
See also
Getter of property activationOrder
.
- PySide6.QtWidgets.QMdiArea.activeSubWindow()#
- Return type:
Returns a pointer to the current active subwindow. If no window is currently active, None
is returned.
Subwindows are treated as top-level windows with respect to window state, i.e., if a widget outside the MDI area is the active window, no subwindow will be active. Note that if a widget in the window in which the MDI area lives gains focus, the window will be activated.
See also
setActiveSubWindow()
WindowState
- PySide6.QtWidgets.QMdiArea.addSubWindow(widget[, flags=Qt.WindowFlags()])#
- Parameters:
widget –
PySide6.QtWidgets.QWidget
flags –
WindowFlags
- Return type:
Warning
This section contains snippets that were automatically translated from C++ to Python and may contain errors.
Adds widget
as a new subwindow to the MDI area. If windowFlags
are non-zero, they will override the flags set on the widget.
The widget
can be either a QMdiSubWindow
or another QWidget
(in which case the MDI area will create a subwindow and set the widget
as the internal widget).
Note
Once the subwindow has been added, its parent will be the viewport widget of the QMdiArea
.
mdiArea = QMdiArea()
subWindow1 = QMdiSubWindow()
subWindow1.setWidget(internalWidget1)
subWindow1.setAttribute(Qt.WA_DeleteOnClose)
mdiArea.addSubWindow(subWindow1)
subWindow2 =
mdiArea.addSubWindow(internalWidget2)
When you create your own subwindow, you must set the WA_DeleteOnClose
widget attribute if you want the window to be deleted when closed in the MDI area. If not, the window will be hidden and the MDI area will not activate the next subwindow.
Returns the QMdiSubWindow
that is added to the MDI area.
See also
- PySide6.QtWidgets.QMdiArea.background()#
- Return type:
See also
Getter of property background
.
- PySide6.QtWidgets.QMdiArea.cascadeSubWindows()#
Arranges all the child windows in a cascade pattern.
See also
- PySide6.QtWidgets.QMdiArea.closeActiveSubWindow()#
Closes the active subwindow.
See also
- PySide6.QtWidgets.QMdiArea.closeAllSubWindows()#
Closes all subwindows by sending a QCloseEvent
to each window. You may receive subWindowActivated()
signals from subwindows before they are closed (if the MDI area activates the subwindow when another is closing).
Subwindows that ignore the close event will remain open.
See also
- PySide6.QtWidgets.QMdiArea.currentSubWindow()#
- Return type:
Returns a pointer to the current subwindow, or None
if there is no current subwindow.
This function will return the same as activeSubWindow()
if the QApplication
containing QMdiArea
is active.
See also
- PySide6.QtWidgets.QMdiArea.documentMode()#
- Return type:
bool
See also
Getter of property documentMode
.
- PySide6.QtWidgets.QMdiArea.removeSubWindow(widget)#
- Parameters:
widget –
PySide6.QtWidgets.QWidget
Removes widget
from the MDI area. The widget
must be either a QMdiSubWindow
or a widget that is the internal widget of a subwindow. Note widget
is never actually deleted by QMdiArea
. If a QMdiSubWindow
is passed in, its parent is set to None
and it is removed; but if an internal widget is passed in, the child widget is set to None
and the QMdiSubWindow
is not removed.
See also
- PySide6.QtWidgets.QMdiArea.setActivationOrder(order)#
- Parameters:
order –
WindowOrder
See also
Setter of property activationOrder
.
- PySide6.QtWidgets.QMdiArea.setActiveSubWindow(window)#
- Parameters:
window –
PySide6.QtWidgets.QMdiSubWindow
Activates the subwindow window
. If window
is None
, any current active window is deactivated.
See also
- PySide6.QtWidgets.QMdiArea.setBackground(background)#
- Parameters:
background –
PySide6.QtGui.QBrush
See also
Setter of property background
.
- PySide6.QtWidgets.QMdiArea.setDocumentMode(enabled)#
- Parameters:
enabled – bool
See also
Setter of property documentMode
.
- PySide6.QtWidgets.QMdiArea.setOption(option[, on=true])#
- Parameters:
option –
AreaOption
on – bool
If on
is true, option
is enabled on the MDI area; otherwise it is disabled. See AreaOption
for the effect of each option.
See also
AreaOption
testOption()
- PySide6.QtWidgets.QMdiArea.setTabPosition(position)#
- Parameters:
position –
TabPosition
See also
Setter of property tabPosition
.
Setter of property tabShape
.
- PySide6.QtWidgets.QMdiArea.setTabsClosable(closable)#
- Parameters:
closable – bool
See also
Setter of property tabsClosable
.
- PySide6.QtWidgets.QMdiArea.setTabsMovable(movable)#
- Parameters:
movable – bool
See also
Setter of property tabsMovable
.
Setter of property viewMode
.
- PySide6.QtWidgets.QMdiArea.subWindowActivated(arg__1)#
- Parameters:
arg__1 –
PySide6.QtWidgets.QMdiSubWindow
QMdiArea
emits this signal after window
has been activated. When window
is None
, QMdiArea
has just deactivated its last active window, and there are no active windows on the workspace.
See also
- PySide6.QtWidgets.QMdiArea.subWindowList([order=QMdiArea.WindowOrder.CreationOrder])#
- Parameters:
order –
WindowOrder
Returns a list of all subwindows in the MDI area. If order
is CreationOrder
(the default), the windows are sorted in the order in which they were inserted into the workspace. If order
is StackingOrder
, the windows are listed in their stacking order, with the topmost window as the last item in the list. If order
is ActivationHistoryOrder
, the windows are listed according to their recent activation history.
See also
WindowOrder
- PySide6.QtWidgets.QMdiArea.tabPosition()#
- Return type:
See also
Getter of property tabPosition
.
- PySide6.QtWidgets.QMdiArea.tabShape()#
- Return type:
See also
Getter of property tabShape
.
- PySide6.QtWidgets.QMdiArea.tabsClosable()#
- Return type:
bool
See also
Getter of property tabsClosable
.
- PySide6.QtWidgets.QMdiArea.tabsMovable()#
- Return type:
bool
See also
Getter of property tabsMovable
.
- PySide6.QtWidgets.QMdiArea.testOption(opton)#
- Parameters:
opton –
AreaOption
- Return type:
bool
Returns true
if option
is enabled; otherwise returns false
.
See also
AreaOption
setOption()
- PySide6.QtWidgets.QMdiArea.tileSubWindows()#
Arranges all child windows in a tile pattern.
See also
- PySide6.QtWidgets.QMdiArea.viewMode()#
- Return type:
See also
Getter of property viewMode
.