allow checkboxes with callback, return created action object, consistent naming

This commit is contained in:
2023-01-05 16:25:35 +01:00
parent c55a60a29d
commit 08d77289d9

View File

@ -10,19 +10,24 @@ class MenuBase:
def __init__(self):
self.checkboxes = {}
def addAction(self, name, func):
action = QAction(name, triggered=func, parent=self.qmenu)
def addAction(self, name, triggered):
action = QAction(name, triggered=triggered, parent=self.qmenu)
self.qmenu.addAction(action)
return action
def addSeparator(self):
self.qmenu.addSeparator()
#TODO: allow checkboxes with callback?
def addCheckbox(self, name, state=False):
action = QAction(name, checkable=True, parent=self.qmenu)
def addCheckbox(self, name, state=False, triggered=None):
# QAction does not accept triggered=None
kwargs = dict(checkable=True, parent=self.qmenu)
if triggered:
kwargs.update(triggered=triggered)
action = QAction(name, **kwargs)
action.setChecked(state)
self.qmenu.addAction(action)
self.checkboxes[name] = action
return action