def createAction(parentWidget, text=None, slot=None, shortcut=None, shortcutContext=QtCore.Qt.WidgetShortcut, icon=None, menu=None, tip=None, checkable=False, signal="triggered()"): action = QtGui.QAction(parentWidget) if text is not None: action.setText(text) if icon is not None: action.setIcon(icon) if menu is not None: action.setMenu(menu) if shortcut: if isinstance(shortcut, list): action.setShortcuts(shortcut) else: action.setShortcut(shortcut) action.setShortcutContext(shortcutContext) if tip is not None: action.setToolTip(tip) action.setStatusTip(tip) if slot is not None: QtCore.QObject.connect(action, QtCore.SIGNAL(signal), slot) action.setCheckable(checkable) return action
def __populate(self): """ Populate this menu with actions """ for program in self._getProgramSuggestionList(): self.__addOpenAction(program) # custom open actions self.addAction(Action(separator=True, parent=self)) # browse action browseAction = QtGui.QAction('Browse...', self) browseAction.triggered.connect(self.__browse) self.addAction(browseAction) # custom command action cmdAction = QtGui.QAction('Custom command...', self) cmdAction.triggered.connect(self.__addCustomCmd) self.addAction(cmdAction)
def separatorAction(widget): action = QtGui.QAction(widget) action.setSeparator(True) widget.addAction(action)