added checkboxes to bar menus

This commit is contained in:
2022-12-30 00:45:06 +01:00
parent a70fb17b7c
commit 2158b55f0f

View File

@ -7,9 +7,12 @@ class BarMenu:
self.qmenu = qmenu = bar.addMenu(name)
qmenu.triggered[QAction].connect(self.on_select)
self.actions = {}
self.checkboxes = {}
def on_select(self, p):
txt = p.text()
if txt in self.checkboxes: #TODO: allow checkboxes with callback?
return
func = self.actions[txt]
func()
@ -20,5 +23,11 @@ class BarMenu:
def addSeparator(self):
self.qmenu.addSeparator()
def addCheckbox(self, name, state=False):
action = QAction(name, checkable=True, parent=self.qmenu)
action.setChecked(state)
self.qmenu.addAction(action)
self.checkboxes[name] = action