def contextMenuEvent(self, event): context_menu = QMenu(self) exit_action = context_menu.addAction("Quit") action = context_menu.exec_(self.mapToGlobal(event.pos())) if action == exit_action: QApplication.instance().quit()
def showMenu(self): "设计托盘的菜单,这里我实现了一个二级菜单" self.menu = QMenu() self.menu1 = QMenu() self.showAction1 = QAction("显示消息1", self, triggered=self.showM) self.showAction2 = QAction("显示消息2", self, triggered=self.showM) self.quitAction = QAction("退出", self, triggered=self.quit) self.menu1.addAction(self.showAction1) self.menu1.addAction(self.showAction2) self.menu.addMenu(self.menu1) self.menu.addAction(self.showAction1) self.menu.addAction(self.showAction2) self.menu.addAction(self.quitAction) self.menu1.setTitle("二级菜单") self.setContextMenu(self.menu)
def contextMenuEvent(self, event): """A simple context menu for managing images.""" context_menu = QMenu(self) # Create menu instance context_menu.addAction(self.parent.sort_ascend_act) context_menu.addAction(self.parent.sort_descend_act) context_menu.addSeparator() context_menu.addAction(self.parent.delete_act) context_menu.exec(self.mapToGlobal(event.pos()))
def setupTrayicon(self): self.trayIcon = QSystemTrayIcon(makeIcon("tomato")) self.trayIcon.setContextMenu(QMenu()) self.quitAction = self.trayIcon.contextMenu().addAction( makeIcon("exit"), "Quit", self.exit) self.quitAction.triggered.connect(self.exit) self.trayIcon.activated.connect(self.onActivate) self.trayIcon.show() self.trayIcon.setToolTip("Pomodoro") self.toast = ToastNotifier()
def contextMenuEvent(self, event): cmenu = QMenu(self) newAct = cmenu.addAction("New") openAct = cmenu.addAction("Open") quitAct = cmenu.addAction("Quit") action = cmenu.exec(self.mapToGlobal(event.pos())) if action == quitAct: QApplication.instance().quit()
def show_context_menu(self, pos): item = self.itemAt(pos) if not item: return m = QMenu(self) m.addAction(_('Close tabs to the bottom'), partial(self.close_tabs_to_bottom, item)) m.addAction(_('Close other tabs'), partial(self.close_other_tabs, item)) m.addAction(_('Close this tree'), partial(self.close_tree, item)) m.exec(self.mapToGlobal(pos))
def __init__(self, parent=None, window=None): """Construct MenuBar instance and create submenus. Args: parent (widget, optional) Objects parent widget. Defaults to None. window (widget, optional) Program's main window. Defaults to None. """ super().__init__(parent=parent) self.setObjectName("MainMenuBar") self.setVisible(True) self.setNativeMenuBar(False) self.window = window self.window.setMenuBar(self) self.filemenu = QMenu("File", parent=self) self.settings = QMenu("Preferences", parent=self) self.help = QMenu("Help", parent=self) self.addMenu(self.filemenu) self.addMenu(self.settings) self.addMenu(self.help) self.exitaction = QAction("&Exit") self.settingsaction = QAction("&Settings") self.newGameAction = QAction("&New Game") self.minimize = QAction("&Minimize") self.maximize = QAction("&Maximize") self.aboutQt = QAction("&About Qt") self.aboutSelf = QAction("&About") self.help.addAction(self.aboutQt) self.help.addAction(self.aboutSelf) self.filemenu.addAction(self.minimize) self.filemenu.addAction(self.maximize) self.filemenu.addAction(self.exitaction) self.settings.addAction(self.settingsaction) self.filemenu.addAction(self.newGameAction) self.aboutQt.triggered.connect(self.aboutQtMenu) self.minimize.triggered.connect(self.minimizeWindow) self.maximize.triggered.connect(self.maxamizeWindow) self.exitaction.triggered.connect(self.exit_app) self.settingsaction.triggered.connect(self.open_settings) self.newGameAction.triggered.connect(self.newGame) self.aboutSelf.triggered.connect(self.about)
def initialize_context_menu(self): self.menu = QMenu() self.version_action = self.menu.addAction(f"Version {__version__}") self.version_action.setEnabled(False) self.menu.addSeparator() self.open_action = self.menu.addAction("Open Control Panel", self.show_main_window) self.restore_action = self.menu.addAction( "Restore Files", self.main_window.open_restore_files) self.settings_action = self.menu.addAction( "Settings", self.main_window.open_settings) self.help_action = self.menu.addAction( "Help", lambda: webbrowser.open(SUPPORT_URL)) self.quit_action = self.menu.addAction( "Quit", self.main_window.quit_application) self.setContextMenu(self.menu)
def initUI(self): menubar = self.menuBar() fileMenu = menubar.addMenu('File') impMenu = QMenu('Import', self) impAct = QAction('Import mail', self) impMenu.addAction(impAct) newAct = QAction('New', self) fileMenu.addAction(newAct) fileMenu.addMenu(impMenu) self.setGeometry(300, 300, 350, 250) self.setWindowTitle('Submenu') self.show()
def eventFilter(self, source, event): if event.type( ) == QEvent.Type.ContextMenu and source is self.mock_env_list: menu = QMenu() _copy = menu.addAction( QIcon(full_path("assets/images/icons/export.ico")), "Export") _remove = menu.addAction( QIcon(full_path("assets/images/icons/trash-can.ico")), "Remove") if source.itemAt(event.pos()): action = menu.exec(event.globalPos()) _item = source.itemAt(event.pos()) _id = _item.whatsThis() if action == _remove: delete_confirmation(self, _id, self.delete) return True return super().eventFilter(source, event)
def __init__(self): super().__init__() self.menu = QMenu() self.usage = QAction() self.usage.setText("Initialised") self.menu.addAction(self.usage) self.version = QAction("Notifier ({})".format(__version__)) self.version.setDisabled(True) self.menu.addAction(self.version) self.menu.addSeparator() self.menu.addAction("Quit", lambda: exit(0)) self.setContextMenu(self.menu) self.setIcon(QIcon("icons/0.svg")) self.show() self.task = TaskCpu() self.task.start() self.task.on_cpu_changed.connect( lambda value: self.set_icon(value)) # noqa
def contextMenuEvent(self, event): """Add actions to right click menu, dependent on currently active table """ child = self.childAt(event.pos()) menu = QMenu(self) # menu.setToolTipsVisible(True) table_widget = self.active_table_widget() for section in table_widget.context_actions.values(): for action in section: name_action = f'act_{action}' try: menu.addAction(getattr(self, name_action)) except Exception as e: try: menu.addAction(getattr(table_widget, name_action)) except Exception as e: log.warning( f'Couldn\'t add action to context menu: {action}') menu.addSeparator() action = menu.exec(self.mapToGlobal(event.pos()))
def __init__(self, parent=None): super().__init__(parent) self.setupUi(self) self.TRAY = QSystemTrayIcon(self) self.TRAY.setIcon(QApplication.style().standardIcon( QStyle.StandardPixmap.SP_MessageBoxInformation)) self.TRAY.setToolTip('FGO-py') self.MENU_TRAY = QMenu(self) self.MENU_TRAY_QUIT = QAction('退出', self.MENU_TRAY) self.MENU_TRAY.addAction(self.MENU_TRAY_QUIT) self.MENU_TRAY_FORCEQUIT = QAction('强制退出', self.MENU_TRAY) self.MENU_TRAY.addAction(self.MENU_TRAY_FORCEQUIT) self.TRAY.setContextMenu(self.MENU_TRAY) self.TRAY.show() self.reloadTeamup() self.config = Config({ 'stopOnDefeated': (self.MENU_SETTINGS_DEFEATED, fgoKernel.schedule.stopOnDefeated), 'stopOnKizunaReisou': (self.MENU_SETTINGS_KIZUNAREISOU, fgoKernel.schedule.stopOnKizunaReisou), 'closeToTray': (self.MENU_CONTROL_TRAY, None), 'stayOnTop': (self.MENU_CONTROL_STAYONTOP, lambda x: self.setWindowFlag( Qt.WindowType.WindowStaysOnTopHint, x)), 'notifyEnable': (self.MENU_CONTROL_NOTIFY, None) }) self.notifier = ServerChann(**self.config['notifyParam']) self.worker = Thread() self.signalFuncBegin.connect(self.funcBegin) self.signalFuncEnd.connect(self.funcEnd) self.TRAY.activated.connect(lambda reason: self.show( ) if reason == QSystemTrayIcon.ActivationReason.Trigger else None) self.MENU_TRAY_QUIT.triggered.connect(lambda: QApplication.quit() if self.askQuit() else None) self.MENU_TRAY_FORCEQUIT.triggered.connect(QApplication.quit) self.getDevice()
def eventFilter(self, source, event): if event.type( ) == QEvent.Type.ContextMenu and source is self.mock_endpoints: menu = QMenu() _copy = menu.addAction( QIcon(full_path("assets/images/icons/copy.ico")), "Copy") _toggle = menu.addAction( QIcon(full_path("assets/images/icons/toggle.ico")), "Toggle") _remove = menu.addAction( QIcon(full_path("assets/images/icons/trash-can.ico")), "Remove") if source.itemAt(event.pos()): action = menu.exec(event.globalPos()) _item = source.itemAt(event.pos()) _id = _item.whatsThis() if action == _copy: copy_endpoint(endpoint_ids=[_id]) elif action == _toggle: self.toggle_endpoint(_id) elif action == _remove: delete_confirmation(self, _id, self.delete) return True return super().eventFilter(source, event)
def contextMenuEvent(self, e: QContextMenuEvent) -> None: menu = QMenu(self) if e.isInputEvent(): menu.addActions(iter(self.actions())) return super().contextMenuEvent(e) menu.exec(e.globalPos())