added tabbed mode

This commit is contained in:
2022-12-20 12:49:56 +01:00
parent 49e837c029
commit 354b1a7ce5

View File

@ -10,6 +10,8 @@ class MDIArea(QMdiArea):
def __init__(self, bar, *args, **kwargs):
super().__init__(*args, **kwargs)
self.logo = assets.logo()
self.setTabsClosable(True)
self.setTabsMovable(True)
self._add_menu(bar)
@ -17,17 +19,34 @@ class MDIArea(QMdiArea):
menu = bar.addMenu("&Windows")
menu.addAction("Cascade")
menu.addAction("Tile")
menu.addAction("Tabbed")
menu.addSeparator()
menu.addAction("Close All")
menu.triggered[QAction].connect(self.on_menu_select)
self.actions = {
"Cascade": self.cascadeSubWindows,
"Tile": self.tileSubWindows,
"Cascade": self.on_cascade,
"Tile": self.on_tile,
"Tabbed": self.enable_tabbed_view,
"Close All": self.closeAllSubWindows
}
def on_cascade(self):
self.enable_subwindow_view()
self.cascadeSubWindows()
def on_tile(self):
self.enable_subwindow_view()
self.tileSubWindows()
def enable_subwindow_view(self):
self.setViewMode(QMdiArea.SubWindowView)
def enable_tabbed_view(self):
self.setViewMode(QMdiArea.TabbedView)
def on_menu_select(self, p):
txt = p.text()
self.actions[txt]()