-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathStackLayout.py
More file actions
28 lines (22 loc) · 760 Bytes
/
Copy pathStackLayout.py
File metadata and controls
28 lines (22 loc) · 760 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
from PyQt6.QtCore import *
from PyQt6.QtGui import *
from PyQt6.QtWidgets import *
class StackLayout(QStackedLayout):
def __init__(self, parent=None):
super().__init__(parent)
self.map = {}
def addWidgetByKey(self, key, widget):
super().addWidget(widget)
self.map[key] = widget
def removeWidgetByKey(self, key):
if self.map[key] != None:
self.removeWidget(self.map[key])
self.map[key] = None
def setCurrentWidgetByKey(self, key):
w = self.map[key]
if w != None:
self.setCurrentWidget(w)
def hasByKey(self, key):
return self.map.get(key) != None
def getByKey(self, key):
return self.map.get(key)