def menu_actions(self): result = [] a = QtWidgets.QAction("minmax", None) a.triggered.connect(nonpartial(self.set_clip_percentile, 0, 100)) result.append(a) a = QtWidgets.QAction("99%", None) a.triggered.connect(nonpartial(self.set_clip_percentile, 1, 99)) result.append(a) a = QtWidgets.QAction("95%", None) a.triggered.connect(nonpartial(self.set_clip_percentile, 5, 95)) result.append(a) a = QtWidgets.QAction("90%", None) a.triggered.connect(nonpartial(self.set_clip_percentile, 10, 90)) result.append(a) rng = QtWidgets.QAction("Set range...", None) rng.triggered.connect(nonpartial(self.choose_vmin_vmax)) result.append(rng) a = QtWidgets.QAction("", None) a.setSeparator(True) result.append(a) a = QtWidgets.QAction("linear", None) a.triggered.connect(nonpartial(setattr, self, 'stretch', 'linear')) result.append(a) a = QtWidgets.QAction("log", None) a.triggered.connect(nonpartial(setattr, self, 'stretch', 'log')) result.append(a) a = QtWidgets.QAction("sqrt", None) a.triggered.connect(nonpartial(setattr, self, 'stretch', 'sqrt')) result.append(a) a = QtWidgets.QAction("asinh", None) a.triggered.connect(nonpartial(setattr, self, 'stretch', 'arcsinh')) result.append(a) for r in result: if r is rng: continue if self._move_callback is not None: r.triggered.connect(nonpartial(self._move_callback, self)) return result
def make_menu_bar(self): menu_bar = self.menuBar() new_project_action = QtWidgets.QAction('New Project', self) new_project_action.triggered.connect(self.new_project) set_project_action = QtWidgets.QAction('Set Project', self) set_project_action.triggered.connect(self.set_project) new_asset_action = QtWidgets.QAction('New Asset', self) new_asset_action.triggered.connect(self.new_asset) new_shot_action = QtWidgets.QAction('New Shot', self) new_shot_action.triggered.connect(self.new_shot) project_menu = menu_bar.addMenu('Project') project_menu.addAction(new_project_action) project_menu.addAction(set_project_action) project_menu.addSeparator() project_menu.addAction(new_asset_action) project_menu.addAction(new_shot_action) new_user_action = QtWidgets.QAction('New User', self) new_user_action.triggered.connect(self.new_user) set_user_action= QtWidgets.QAction('Set User', self) set_user_action.triggered.connect(self.set_user) user_menu = menu_bar.addMenu('User') user_menu.addAction(new_user_action) user_menu.addAction(set_user_action) help_action = QtWidgets.QAction('Help', self) help_action.triggered.connect(self.show_help) about_action= QtWidgets.QAction('About', self) about_action.triggered.connect(self.show_about) about_menu = menu_bar.addMenu('Help') about_menu.addAction(help_action) about_menu.addAction(about_action)
def setupMenu(self): self.statusBar() main_menu = self.menuBar() file_items = [ ("&Load", 'Ctrl+O', 'Open saved configuration.', self.menu_open), ("&Save", 'Ctrl+S', 'Save the current configuration.', self.menu_save), ("Save &as...", 'Ctrl+Shift+S', 'Save the current configuration as...', self.menu_saveas), None, ("&Exit", 'Ctrl+Q', 'Stop acquisition and close the application.', self.menu_exit) ] self.file_menu = main_menu.addMenu("&File") for item in file_items: if item is None: self.file_menu.addSeparator() continue (name, shortcut, tip, slot) = item action = QtWidgets.QAction(name, self) if shortcut is not None: action.setShortcut(shortcut) action.setStatusTip(tip) action.triggered.connect(slot) self.file_menu.addAction(action) self.history_menu = main_menu.addMenu("&History") mode_items = [ ("&Traditional (*.sig)", None, 'GageScope compatible signal acquisition, saved to *.sig files.', self.menu_trad), ("&Segmented (*.h5)", None, 'Segmented signal acquisition, saved to *.h5 files.', self.menu_seg), ] self.mode_menu = main_menu.addMenu("&Mode") mode_group = QtWidgets.QActionGroup(self) action = None for item in mode_items: (name, shortcut, tip, slot) = item action = QtWidgets.QAction(name, self) if shortcut is not None: action.setShortcut(shortcut) action.setStatusTip(tip) action.setCheckable(True) action.triggered.connect(slot) mode_group.addAction(action) self.mode_menu.addAction(action) action.setChecked(True)
def setup_ui(self): self.setObjectName("MainWindow") self.resize(400, 300) self.setDockOptions(QtWidgets.QMainWindow.AllowTabbedDocks) self.centralWidget = QtWidgets.QWidget(self) self.centralWidget.setObjectName("centralWidget") self.setCentralWidget(self.centralWidget) self.status_bar = QtWidgets.QStatusBar(self) self.status_bar.setObjectName("statusBar") self.setStatusBar(self.status_bar) self.menu_bar = QtWidgets.QMenuBar(self) self.menu_bar.setGeometry(QRect(0, 0, 400, 21)) self.menu_bar.setObjectName("menuBar") self.menu_file = QtWidgets.QMenu(self.menu_bar) self.menu_file.setObjectName("menuFile") self.menu_view = QtWidgets.QMenu(self.menu_bar) self.menu_view.setObjectName("menuView") self.menu_about = QtWidgets.QMenu(self.menu_bar) self.menu_about.setObjectName("menuAbout") self.setMenuBar(self.menu_bar) self.tool_bar = QtWidgets.QToolBar(self) self.tool_bar.setObjectName("toolBar") self.addToolBar(Qt.TopToolBarArea, self.tool_bar) self.action_exit = QtWidgets.QAction(self) self.action_exit.setObjectName("actionExit") self.action_save_state = QtWidgets.QAction(self) self.action_save_state.setObjectName("actionSaveState") self.action_save_state.triggered.connect(self.save_state) self.action_restore_state = QtWidgets.QAction(self) self.action_restore_state.setObjectName("actionRestoreState") self.action_restore_state.triggered.connect(self.restore_state) self.menu_file.addAction(self.action_exit) self.menu_file.addAction(self.action_save_state) self.menu_file.addAction(self.action_restore_state) self.menu_bar.addAction(self.menu_file.menuAction()) self.menu_bar.addAction(self.menu_view.menuAction()) self.menu_bar.addAction(self.menu_about.menuAction()) self.setWindowTitle("MainWindow") self.menu_file.setTitle("File") self.menu_view.setTitle("View") self.menu_about.setTitle("About") self.tool_bar.setWindowTitle("toolBar") self.action_exit.setText("Exit") self.action_save_state.setText("Save State") self.action_restore_state.setText("Restore State") self.create_actions()
def init_help_menu(self): # please keep the Help menu in Mac Os even if empty. It will # automatically contain a search field to search inside menus and # please keep it spelled in English, as long as Qt Doesn't support # a QAction.MenuRole like HelpMenuRole otherwise it will lose # this search field functionality self.help_menu = self.menuBar().addMenu("&Help") # Help Menu self.help_action = QtWidgets.QAction("Show &QtConsole help", self, triggered=self._show_help) self.online_help_action = QtWidgets.QAction("Open online &help", self, triggered=self._open_online_help) self.add_menu_action(self.help_menu, self.help_action) self.add_menu_action(self.help_menu, self.online_help_action)
def assignment_menu(self, pos): """Creates an assignment context menu. Args: pos: cursor position """ menu = QtWidgets.QMenu(self) set_state_action = QtWidgets.QAction('Set state', self) set_state_action.triggered.connect(self.set_state) menu.addAction(set_state_action) assign_user_action = QtWidgets.QAction('Assign User', self) assign_user_action.triggered.connect(self.assign_user) menu.addAction(assign_user_action) menu.popup(self.project_widget.mapToGlobal(pos))
def addLayoutActions(self, parent=None): shortcuts = dict( (v, k) for k, v in config['shortcuts']['layout'].items()) prefix = config['shortcuts']['layout']['prefix'] for name, layout in config['layout'].items(): shortcut = shortcuts.get(name, None) if shortcut is None: action = QtWidgets.QAction(name, parent) else: action = QtWidgets.QAction(f'{name}\t{prefix}{shortcut}', parent) caller = self.panels.restore_state_from_config action.triggered.connect(CachedArgCall(caller, name)) parent.addAction(action)
def creation_menu(self, pos): """Creates a context menu at cursor position to create new shots and assets. Args: pos: cursor position """ menu = QtWidgets.QMenu(self) new_asset_action = QtWidgets.QAction('New Asset', self) new_asset_action.triggered.connect(self.parent().parent().new_asset) menu.addAction(new_asset_action) new_shot_action= QtWidgets.QAction('New Shot', self) new_shot_action.triggered.connect(self.parent().parent().new_shot) menu.addAction(new_shot_action) menu.popup(self.project_widget.mapToGlobal(pos))
def _context_menu_add_pair_action(self, slot): add_pair_action = QtWidgets.QAction('Add Pair', self) add_pair_action.setCheckable(False) if len(self._get_selected_row_indices()) > 0: add_pair_action.setEnabled(False) add_pair_action.triggered.connect(slot) return add_pair_action
def __init__(self, parent=None): QtWidgets.QWidget.__init__(self, parent) self.history_s = 20.0 self.next_color = 0 self.paused = False self.last_draw_time = 0.0 self.figure = matplotlib.figure.Figure() self.canvas = FigureCanvas(self.figure) self.canvas.mpl_connect('key_press_event', self.handle_key_press) self.canvas.mpl_connect('key_release_event', self.handle_key_release) self.left_axis = self.figure.add_subplot(111) self.left_axis.grid() self.left_axis.fmt_xdata = lambda x: '%.3f' % x self.left_axis.legend_loc = LEFT_LEGEND_LOC self.right_axis = None self.toolbar = qt_backend.NavigationToolbar2QT(self.canvas, self) self.pause_action = QtWidgets.QAction(u'Pause', self) self.pause_action.setCheckable(True) self.pause_action.toggled.connect(self._handle_pause) self.toolbar.addAction(self.pause_action) layout = QtWidgets.QVBoxLayout(self) layout.addWidget(self.toolbar, 0) layout.addWidget(self.canvas, 1) self.canvas.setFocusPolicy(QtCore.Qt.ClickFocus)
def add_checkable_action(self, label, settings_key, *, default=True): ''' Add a checkable action Parameters ---------- label : str The action label settings_key : str The settings dictionary key default : bool, optional The default checked state ''' action = QtWidgets.QAction(label) self.actions[settings_key] = action action.setCheckable(True) self.settings[settings_key] = default action.setChecked(self.settings[settings_key]) def set_option(value): logger.debug('Setting %r to %s', settings_key, value) setattr(self, settings_key, value) action.toggled.connect(set_option) self.options_menu.addAction(action)
def event_startup(self): """ desc: Build the menu on startup. """ self._urls = [] self.menu = self.menubar.addMenu(_(u'Help')) self._wait_action = QtWidgets.QAction( self.theme.qicon(u'process-working'), _(u'Please wait ā¦'), self.menu ) self._wait_action.setEnabled(False) self.menu.addAction(self._wait_action) # It can take some time to download the sitemap from cogsci. Therefore, # we use threading. self._get_sitemap_thread = GetSitemapThread(self, sitemap_url=cfg.online_help_sitemap.replace( u'[version]', metadata.main_version ), local_sitemap=u'sitemap-osdoc.yaml' ) self._get_sitemap_thread.start() self._get_sitemap_thread.finished.connect(self.populate_help_menu)
def _setupActions(self): actions = super()._setupActions() icon = QtGui.QIcon.fromTheme('edit-select-all') QtWidgets.QAction(icon, self.tr('Select all'), actions, objectName='selectAllAction', statusTip=self.tr('Select all'), shortcut=self.tr('Ctrl-A'), triggered=self.view.selectAll) # connect actions action = actions.findChild(QtWidgets.QAction, 'moveToTopAction') action.triggered.connect(self.moveSelectionToTop) action = actions.findChild(QtWidgets.QAction, 'moveUpAction') action.triggered.connect(self.moveSelectionUp) action = actions.findChild(QtWidgets.QAction, 'moveDownAction') action.triggered.connect(self.moveSelectionDown) action = actions.findChild(QtWidgets.QAction, 'moveToBottomAction') action.triggered.connect(self.moveSelectionToBottom) action = actions.findChild(QtWidgets.QAction, 'removeLayerAction') action.triggered.connect(self.removeSelectedLayers) action = actions.findChild(QtWidgets.QAction, 'showLayerAction') action.triggered.connect(self.checkSelectedItems) action = actions.findChild(QtWidgets.QAction, 'hideLayerAction') action.triggered.connect(self.uncheckSelectedItems) return actions
def _buildLinkView(self, menu): ''' Add an action for all other displays and connect it to self._linkView ''' menu.clear() vb = self.display.widget.view.vb vb_linked = vb.state['linkedViews'][0] if vb_linked: # get object from weakref vb_linked = vb_linked() # ag = QtWidgets.QActionGroup(menu, exclusive=True) for d in self.display.workspace.displays(): if d.name() != self.display.name(): # a = ag.addAction(QtWidgets.QAction(d.name(),menu, checkable=True)) a = QtWidgets.QAction(d.name(), menu, checkable=True) cb = QtWidgets.QCheckBox(d.name(), menu) a = QtWidgets.QWidgetAction(menu) a.setDefaultWidget(cb) menu.addAction(a) # IS LINKED?: vb2 = d.widget.view.vb vb2_linked = vb2.state['linkedViews'][0] if vb2_linked: # get object from weakref vb2_linked = vb2_linked() linked = False if (vb_linked == vb2) or (vb2_linked == vb): linked = True cb.setChecked(True) cb.clicked.connect(lambda checked, d=d, linked=linked: self._linkView(d, linked))
def create_toolbar(self): self.toolbar.addWidget(QtWidgets.QLabel('Calibration:')) iconadd = QtGui.QIcon() iconadd.addPixmap(QtGui.QPixmap(":/icons/Icon_Library/Add2.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.addh5_action = QtWidgets.QAction(iconadd, "Add spectrum", None) self.toolbar.addAction(self.addh5_action) self.addh5_action.triggered.connect(self.add_spectrum_h5) iconreset = QtGui.QIcon() iconreset.addPixmap(QtGui.QPixmap(":/icons/Icon_Library/Refresh2.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.reset_action = QtWidgets.QAction(iconreset, "Remove plots", None) self.toolbar.addAction(self.reset_action) self.reset_action.triggered.connect(self.reset)
def __init__(self, parent, controller, read_only, can_generate_more_pages, gallery_type_string, gallery_seed_log_get_callable, gallery_seed_log_set_callable=None): self._controller = controller self._read_only = read_only self._can_generate_more_pages = can_generate_more_pages self._gallery_type_string = gallery_type_string self._gallery_seed_log_get_callable = gallery_seed_log_get_callable self._gallery_seed_log_set_callable = gallery_seed_log_set_callable action = QW.QAction() action.setText('{} log'.format(gallery_type_string)) action.setToolTip('open detailed {} log'.format( self._gallery_type_string)) action.triggered.connect(self._ShowGallerySeedLogFrame) ClientGUICommon.ButtonWithMenuArrow.__init__(self, parent, action)
def add_dock_widget(self, create_widget, name): dock_widget = MyDockWidget(create_widget, name + ' (%s)' % self.parent.name) self.dock_widgets[name] = dock_widget self.addDockWidget(QtCore.Qt.TopDockWidgetArea, dock_widget) if self.last_docked is not None: self.tabifyDockWidget(self.last_docked, dock_widget) # put tabs on top self.setTabPosition(dock_widget.allowedAreas(), QtWidgets.QTabWidget.North) self.last_docked = dock_widget self.last_docked.hide() # by default no widget is created... action = QtWidgets.QAction(name, self.menu_modules) action.setCheckable(True) self.module_actions.append(action) self.menu_modules.addAction(action) # make sure menu and widget are in sync action.changed.connect( lambda: dock_widget.setVisible(action.isChecked())) dock_widget.visibilityChanged.connect( lambda: action.setChecked(dock_widget.isVisible())) dock_widget.visibilityChanged.connect(self.hide_centralbutton) self.set_background_color(dock_widget)
def AppendMenuItem(menu, label, description, callable, *args, **kwargs): label = SanitiseLabel(label) menu_item = QW.QAction(menu) if HC.PLATFORM_MACOS: menu_item.setMenuRole(QW.QAction.ApplicationSpecificRole) elided_label = HydrusText.ElideText(label, 128, elide_center=True) menu_item.setText(elided_label) if elided_label != label: menu_item.setToolTip(label) else: menu_item.setToolTip(description) menu_item.setStatusTip(description) menu_item.setWhatsThis(description) menu.addAction(menu_item) BindMenuItem(menu_item, callable, *args, **kwargs) return menu_item
def contextMenuEvent_Header(self, pos): """ Right-click to show and hide columns Checked items are being shown see: https://stackoverflow.com/questions/11909139/pyqt-table-header-context-menu """ column = self.horizontalHeader().logicalIndexAt(pos.x()) print('bTableWidget2.contextMenuEvent_Header() column:', column) menu = QtWidgets.QMenu() nColHeader = self.horizontalHeader().count() for colIdx in range(nColHeader): headerItem = self.horizontalHeaderItem(colIdx) headerItemText = headerItem.text() isHidden = not self.horizontalHeader().isSectionHidden( colIdx) # check those not hidden currentAction = QtWidgets.QAction(headerItemText, self, checkable=True, checked=isHidden) currentAction.triggered.connect(self.menuActionHandler_header) menuAction = menu.addAction(currentAction) userAction = menu.exec_(self.mapToGlobal(pos))
def newAction( parent, text, slot=None, shortcutName=None, icon=None, tip=None, checkable=False, enabled=True, checked=False, ): """Create a new action and assign callbacks, shortcuts, etc.""" a = QtWidgets.QAction(text, parent) a.setData(shortcutName) # a = QtWidgets.QAction("", parent) if icon is not None: a.setIconText(text.replace(" ", "\n")) a.setIcon(newIcon(icon)) shortcut = shortcuts.get(shortcutName, None) if shortcut is not None: if isinstance(shortcut, (list, tuple)): a.setShortcuts(shortcut) else: a.setShortcut(shortcut) if tip is not None: a.setToolTip(tip) a.setStatusTip(tip) if slot is not None: a.triggered.connect(slot) if checkable: a.setCheckable(True) a.setEnabled(enabled) a.setChecked(checked) return a
def AppendMenuLabel(menu, label, description=''): original_label_text = label label = SanitiseLabel(label) if description is None: description = '' menu_item = QW.QAction(menu) if HC.PLATFORM_MACOS: menu_item.setMenuRole(QW.QAction.ApplicationSpecificRole) menu_item.setText(HydrusText.ElideText(label, 128, elide_center=True)) menu_item.setStatusTip(description) menu_item.setToolTip(description) menu_item.setWhatsThis(description) menu.addAction(menu_item) BindMenuItem(menu_item, HG.client_controller.pub, 'clipboard', 'text', original_label_text) return menu_item
def build_menu(self): self.file_menu = QtWidgets.QMenu('&Archivos', self) self.file_menu.addAction('&Abrir archivos', self.open_directory, QtCore.Qt.CTRL + QtCore.Qt.Key_O) self.file_menu.addAction('&Exportar datos', self.export_image, QtCore.Qt.CTRL + QtCore.Qt.Key_S) self.file_menu.addAction('&Salir', self.close, QtCore.Qt.CTRL + QtCore.Qt.Key_Q) self.view_menu = QtWidgets.QMenu('&Ver', self) self.view_menu.addAction('Aumentar zoom', self.pix_label.increase_zoom, QtCore.Qt.CTRL + QtCore.Qt.Key_Plus) self.view_menu.addAction('Disminuir zoom', self.pix_label.decrease_zoom, QtCore.Qt.CTRL + QtCore.Qt.Key_Minus) self.view_menu.addAction('Zoom 1:1', self.pix_label.reset_zoom, QtCore.Qt.CTRL + QtCore.Qt.Key_0) fullscreen = QtWidgets.QAction('&Ver pantalla completa', self) fullscreen.setCheckable(True) fullscreen.setShortcut(QtCore.Qt.Key_F11) fullscreen.toggled.connect(self.toggle_full_screen) self.view_menu.addAction(fullscreen) self.tools_menu = QtWidgets.QMenu("&Herramientas", self) self.tools_menu.addAction('&Ver informaciĆ³n paciente', self.show_structure, QtCore.Qt.Key_F2) self.menuBar().addMenu(self.file_menu) self.menuBar().addMenu(self.view_menu) self.menuBar().addMenu(self.tools_menu)
def AppendMenuCheckItem(menu, label, description, initial_value, callable, *args, **kwargs): label = SanitiseLabel(label) menu_item = QW.QAction(menu) if HC.PLATFORM_MACOS: menu_item.setMenuRole(QW.QAction.ApplicationSpecificRole) menu_item.setText(HydrusText.ElideText(label, 128, elide_center=True)) menu_item.setStatusTip(description) menu_item.setToolTip(description) menu_item.setWhatsThis(description) menu_item.setCheckable(True) menu_item.setChecked(initial_value) menu.addAction(menu_item) BindMenuItem(menu_item, callable, *args, **kwargs) return menu_item
def build_menu(self): self.file_menu = QtWidgets.QMenu('&File', self) self.file_menu.addAction('&Open DICOM directory', self.open_directory, QtCore.Qt.CTRL + QtCore.Qt.Key_O) self.file_menu.addAction('&Export DICOM parent folder to BMP', self.export_image, QtCore.Qt.CTRL + QtCore.Qt.Key_S) self.file_menu.addAction('&Launch SteamVR', self.launch_steam, QtCore.Qt.Key_F5) self.file_menu.addAction('&Quit', self.close, QtCore.Qt.CTRL + QtCore.Qt.Key_Q) self.view_menu = QtWidgets.QMenu('&View', self) self.view_menu.addAction('Zoom In', self.pix_label.increase_zoom, QtCore.Qt.CTRL + QtCore.Qt.Key_Plus) self.view_menu.addAction('Zoom Out', self.pix_label.decrease_zoom, QtCore.Qt.CTRL + QtCore.Qt.Key_Minus) self.view_menu.addAction('Zoom 1:1', self.pix_label.reset_zoom, QtCore.Qt.CTRL + QtCore.Qt.Key_0) fullscreen = QtWidgets.QAction('&Full Screen', self) fullscreen.setCheckable(True) fullscreen.setShortcut(QtCore.Qt.Key_F11) fullscreen.toggled.connect(self.toggle_full_screen) self.view_menu.addAction(fullscreen) self.tools_menu = QtWidgets.QMenu("&Tools", self) self.tools_menu.addAction('&Run STD Analysis', self.run_std_analysis, QtCore.Qt.Key_F2) self.tools_menu.addAction('&Prepare VR-Ready OBJs', self.slicer_automation, QtCore.Qt.Key_F3) self.tools_menu.addAction('&DICOM Settings', self.dicom_settings, QtCore.Qt.Key_F7) # self.tools_menu.addAction('&Show DICOM structure', self.show_structure, QtCore.Qt.Key_F2) self.help_menu = QtWidgets.QMenu("&Help", self) self.help_menu.addAction('&About', self.about_info, QtCore.Qt.Key_F6) self.menuBar().addMenu(self.file_menu) self.menuBar().addMenu(self.view_menu) self.menuBar().addMenu(self.tools_menu) self.menuBar().addMenu(self.help_menu)
def newAction(parent, text, slot=None, shortcut=None, icon=None, tip=None, checkable=False, enabled=True): """Create a new action and assign callbacks, shortcuts, etc.""" a = QtWidgets.QAction(text, parent) if icon is not None: a.setIconText(text.replace(' ', '\n')) a.setIcon(newIcon(icon)) if shortcut is not None: print('## ', text, ' : ', shortcut) if isinstance(shortcut, (list, tuple)): a.setShortcuts(shortcut) else: a.setShortcut(shortcut) if tip is not None: a.setToolTip(tip) a.setStatusTip(tip) if slot is not None: a.triggered.connect(slot) if checkable: a.setCheckable(True) a.setEnabled(enabled) return a
def AppendMenuLabel( menu, label, description = '' ): if description is None: description = '' menu_item = QW.QAction( menu ) if HC.PLATFORM_MACOS: menu_item.setMenuRole( QW.QAction.ApplicationSpecificRole ) menu_item.setText( label ) menu_item.setStatusTip( description ) menu_item.setToolTip( description ) menu_item.setWhatsThis( description ) menu.addAction( menu_item ) BindMenuItem( menu_item, HG.client_controller.pub, 'clipboard', 'text', label ) return menu_item
def update_recent_files(self): """Recreate the list with recent documents""" from libqtopensesame.actions import recent_action # Add the current path to the front of the list if self.current_path is not None and os.path.exists(self.current_path): if self.current_path in self.recent_files: self.recent_files.remove(self.current_path) self.recent_files.insert(0, self.current_path) # Trim the list self.recent_files = self.recent_files[:5] # Build the menu self.ui.menu_recent_files.clear() if len(self.recent_files) == 0: a = QtWidgets.QAction(_(u"(No recent files)"), \ self.ui.menu_recent_files) a.setDisabled(True) self.ui.menu_recent_files.addAction(a) else: for path in self.recent_files: self.ui.menu_recent_files.addAction( \ recent_action.recent_action(path, self, \ self.ui.menu_recent_files))
def __init__(self, widget, curve_editor_class): super(BasePlotExtension, self).__init__(widget) self.widget = widget self.curve_editor_class = curve_editor_class self.edit_curves_action = QtWidgets.QAction("Edit Curves...", self.widget) self.edit_curves_action.triggered.connect(self.edit_curves)
def __init__(self, parent=None, dtype=None, columns=[], rows=[], column_delegate={}, row_delegate={}, selection_behavior='row', multi_selection=False): QtWidgets.QTableView.__init__(self, parent) self.dtype = dtype self.columns = columns self.rows = rows self.block_selection_change_event = False self.selection = [] self.mouse_pos = None self._setModel() self.set_delegate(col=column_delegate, row=row_delegate) self.set_selection_model(selection_behavior, multi_selection) if columns is None: self.horizontalHeader().hide() if rows is None: self.verticalHeader().hide() # build context menu self.menu = QtWidgets.QMenu(self) applyAction = QtWidgets.QAction('Apply to Column', self) applyAction.triggered.connect(self.apply_val_to_column) self.menu.addAction(applyAction)
def addLayerControl(self, item, name, tip=''): ''' add color button in parameter menu if an overlay is added ''' aExport = QtWidgets.QAction('Export to new display', self._menu.p) aExport.triggered.connect( lambda c, n=name: self._exportLayerToNewDisplay(n)) p = self._menu.p.addChild({ 'name': name, 'highlight': True, 'type': 'color', 'value': item.getQColor(), 'tip': tip, 'removable': True, # 'renamable':True, 'autoIncrementName': True, 'addToContextMenu': [aExport], # TODO: # 'sliding':True 'item': item }) p.sigValueChanged.connect( lambda param, val: param.opts['item'].setQColor(val)) self.setChecked(True)