use simpler QAction logic

This commit is contained in:
2022-12-30 01:20:11 +01:00
parent b4f6824554
commit 6ec830cefe

View File

@ -8,19 +8,10 @@ class BarMenu(MenuBase):
def __init__(self, bar, name): def __init__(self, bar, name):
super().__init__() super().__init__()
self.qmenu = qmenu = bar.addMenu(name) self.qmenu = qmenu = bar.addMenu(name)
qmenu.triggered[QAction].connect(self.on_select)
self.actions = {}
def on_select(self, p):
txt = p.text()
if txt in self.checkboxes: #TODO: allow checkboxes with callback?
return
func = self.actions[txt]
func()
def addAction(self, name, func): def addAction(self, name, func):
self.qmenu.addAction(name) action = QAction(name, triggered=func, parent=self.qmenu) # here, parent needs to be set
self.actions[name] = func self.qmenu.addAction(action)