added tabbed mode
This commit is contained in:
@ -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]()
|
||||
|
Reference in New Issue
Block a user