added checkboxes to bar menus
This commit is contained in:
@ -7,9 +7,12 @@ class BarMenu:
|
|||||||
self.qmenu = qmenu = bar.addMenu(name)
|
self.qmenu = qmenu = bar.addMenu(name)
|
||||||
qmenu.triggered[QAction].connect(self.on_select)
|
qmenu.triggered[QAction].connect(self.on_select)
|
||||||
self.actions = {}
|
self.actions = {}
|
||||||
|
self.checkboxes = {}
|
||||||
|
|
||||||
def on_select(self, p):
|
def on_select(self, p):
|
||||||
txt = p.text()
|
txt = p.text()
|
||||||
|
if txt in self.checkboxes: #TODO: allow checkboxes with callback?
|
||||||
|
return
|
||||||
func = self.actions[txt]
|
func = self.actions[txt]
|
||||||
func()
|
func()
|
||||||
|
|
||||||
@ -20,5 +23,11 @@ class BarMenu:
|
|||||||
def addSeparator(self):
|
def addSeparator(self):
|
||||||
self.qmenu.addSeparator()
|
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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user