added tabbed mode
This commit is contained in:
@ -10,6 +10,8 @@ class MDIArea(QMdiArea):
|
|||||||
def __init__(self, bar, *args, **kwargs):
|
def __init__(self, bar, *args, **kwargs):
|
||||||
super().__init__(*args, **kwargs)
|
super().__init__(*args, **kwargs)
|
||||||
self.logo = assets.logo()
|
self.logo = assets.logo()
|
||||||
|
self.setTabsClosable(True)
|
||||||
|
self.setTabsMovable(True)
|
||||||
self._add_menu(bar)
|
self._add_menu(bar)
|
||||||
|
|
||||||
|
|
||||||
@ -17,17 +19,34 @@ class MDIArea(QMdiArea):
|
|||||||
menu = bar.addMenu("&Windows")
|
menu = bar.addMenu("&Windows")
|
||||||
menu.addAction("Cascade")
|
menu.addAction("Cascade")
|
||||||
menu.addAction("Tile")
|
menu.addAction("Tile")
|
||||||
|
menu.addAction("Tabbed")
|
||||||
menu.addSeparator()
|
menu.addSeparator()
|
||||||
menu.addAction("Close All")
|
menu.addAction("Close All")
|
||||||
menu.triggered[QAction].connect(self.on_menu_select)
|
menu.triggered[QAction].connect(self.on_menu_select)
|
||||||
|
|
||||||
self.actions = {
|
self.actions = {
|
||||||
"Cascade": self.cascadeSubWindows,
|
"Cascade": self.on_cascade,
|
||||||
"Tile": self.tileSubWindows,
|
"Tile": self.on_tile,
|
||||||
|
"Tabbed": self.enable_tabbed_view,
|
||||||
"Close All": self.closeAllSubWindows
|
"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):
|
def on_menu_select(self, p):
|
||||||
txt = p.text()
|
txt = p.text()
|
||||||
self.actions[txt]()
|
self.actions[txt]()
|
||||||
|
Reference in New Issue
Block a user