当前位置: 首页>>代码示例>>Python>>正文


Python QMenu.addActions方法代码示例

本文整理汇总了Python中PyQt5.QtWidgets.QMenu.addActions方法的典型用法代码示例。如果您正苦于以下问题:Python QMenu.addActions方法的具体用法?Python QMenu.addActions怎么用?Python QMenu.addActions使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在PyQt5.QtWidgets.QMenu的用法示例。


在下文中一共展示了QMenu.addActions方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: _get_menu

# 需要导入模块: from PyQt5.QtWidgets import QMenu [as 别名]
# 或者: from PyQt5.QtWidgets.QMenu import addActions [as 别名]
 def _get_menu(self):
     # main menu
     menu = QMenu()
     main_menu_action_group = QActionGroup(menu)
     main_menu_action_group.setObjectName("main")
     # character menu
     map_action = QAction(menu)
     map_action.setText("Toggle Map")
     main_menu_action_group.addAction(map_action)
     separator = QAction(menu)
     separator.setSeparator(True)
     main_menu_action_group.addAction(separator)
     characters_action = QAction(menu)
     characters_action.setText("Switch Characters")
     main_menu_action_group.addAction(characters_action)
     separator = QAction(menu)
     separator.setSeparator(True)
     main_menu_action_group.addAction(separator)
     settings_action = QAction(menu)
     settings_action.setText("Settings")
     main_menu_action_group.addAction(settings_action)
     quit_action = QAction(menu)
     quit_action.setText("Quit")
     main_menu_action_group.addAction(quit_action)
     menu.addActions(main_menu_action_group.actions())
     menu.triggered[QAction].connect(self._menu_actions)
     return menu
开发者ID:nomns,项目名称:Parse99,代码行数:29,代码来源:parse99.py

示例2: contextMenuEvent

# 需要导入模块: from PyQt5.QtWidgets import QMenu [as 别名]
# 或者: from PyQt5.QtWidgets.QMenu import addActions [as 别名]
 def contextMenuEvent(self, e):
     """ Event handler.
     """
     menu = QMenu(self)
     menu.addActions([self.load, self.remove, self.clearList])
     # show the menu only if the mouse is pointing a list item
     if self.itemAt(e.pos()):
         menu.popup(e.globalPos())
开发者ID:m-pilia,项目名称:wikied,代码行数:10,代码来源:VoiceList.py

示例3: contextMenuEvent

# 需要导入模块: from PyQt5.QtWidgets import QMenu [as 别名]
# 或者: from PyQt5.QtWidgets.QMenu import addActions [as 别名]
  def contextMenuEvent(self, event):

    menu = QMenu(self)

    menu.addActions(self.actionFaces.actions())
    menu.addSeparator()
    menu.addAction(self.actionQuit)

    menu.exec_(event.globalPos())
开发者ID:pvaret,项目名称:keyes,代码行数:11,代码来源:KEyes.py

示例4: __setup_context_menu

# 需要导入模块: from PyQt5.QtWidgets import QMenu [as 别名]
# 或者: from PyQt5.QtWidgets.QMenu import addActions [as 别名]
    def __setup_context_menu(self):
        # here's the custom menu (actions will be made in/visible as required)
        rclickmenu = QMenu(self.mod_structure_view)

        rclickmenu.addActions(
            [
                self.action_unset_toplevel,
                self.action_set_toplevel,
                self.action_rename,
                self.action_delete,
                self.action_create_directory,
            ]
        )

        return rclickmenu
开发者ID:Kf4btg,项目名称:SkyModMan,代码行数:17,代码来源:manual_install_dialog.py

示例5: get_rclickmenu

# 需要导入模块: from PyQt5.QtWidgets import QMenu [as 别名]
# 或者: from PyQt5.QtWidgets.QMenu import addActions [as 别名]
    def get_rclickmenu(self, for_view):
        # here's the custom menu (actions will be made in/visible
        # as required)
        rclickmenu = QMenu(for_view)

        rclickmenu.addActions(
            [
                self.action_unset_toplevel,
                self.action_set_toplevel,
                self.action_rename,
                self.action_delete,
                self.action_create_directory,
            ]
        )

        return rclickmenu
开发者ID:Kf4btg,项目名称:SkyModMan,代码行数:18,代码来源:manual_install_dialog.py

示例6: __install_toolbar

# 需要导入模块: from PyQt5.QtWidgets import QMenu [as 别名]
# 或者: from PyQt5.QtWidgets.QMenu import addActions [as 别名]
 def __install_toolbar(self, rela_actions):
     menu = QMenu()
     tool_button = QToolButton()
     tool_button.setIcon(QIcon(":img/create_new_relation"))
     tool_button.setMenu(menu)
     tool_button.setPopupMode(QToolButton.InstantPopup)
     for item in self.TOOLBAR_ITEMS:
         if item:
             if item == "relation_menu":
                 # Install menu for relation
                 menu.addActions(rela_actions)
                 self.toolbar.addWidget(tool_button)
             else:
                 self.toolbar.addAction(self.__ACTIONS[item])
         else:
             self.toolbar.addSeparator()
开发者ID:yoshitomimaehara,项目名称:pireal,代码行数:18,代码来源:main_window.py

示例7: _fill_context_menu_with_model_item_actions

# 需要导入模块: from PyQt5.QtWidgets import QMenu [as 别名]
# 或者: from PyQt5.QtWidgets.QMenu import addActions [as 别名]
    def _fill_context_menu_with_model_item_actions(self, context_menu: QMenu):
        """
        Find all model items that should be available in the context menu and create QActions for each, by
        using the available logic in popupmenu.PopupMenu.
        """
        # Get phrase folders to add to main menu
        logger.info("Rebuilding model item actions, adding all items marked for access through the tray icon.")
        folders = [folder for folder in self.config_manager.allFolders if folder.show_in_tray_menu]
        items = [item for item in self.config_manager.allItems if item.show_in_tray_menu]
        # Only extract the QActions, but discard the PopupMenu instance.
        # This is done, because the PopupMenu class is not directly usable as a context menu here.
        menu = popupmenu.PopupMenu(self.app.service, folders, items, False, "AutoKey")
        new_item_actions = menu.actions()
        context_menu.addActions(new_item_actions)
        for action in new_item_actions:  # type: QAction
            # QMenu does not take the ownership when adding QActions, so manually re-parent all actions.
            # This causes the QActions to be destroyed when the context menu is cleared or re-created.
            action.setParent(context_menu)

        if not context_menu.isEmpty():
            # Avoid a stray separator line, if no items are marked for display in the context menu.
            context_menu.addSeparator()
开发者ID:autokey,项目名称:autokey,代码行数:24,代码来源:notifier.py

示例8: initMenu

# 需要导入模块: from PyQt5.QtWidgets import QMenu [as 别名]
# 或者: from PyQt5.QtWidgets.QMenu import addActions [as 别名]
 def initMenu(self):
     """
     Public slot to initialize the multi project menu.
     
     @return the menu generated (QMenu)
     """
     menu = QMenu(self.tr('&Multiproject'), self.parent())
     self.recentMenu = QMenu(self.tr('Open &Recent Multiprojects'),
                             menu)
     
     self.__menus = {
         "Main": menu,
         "Recent": self.recentMenu,
     }
     
     # connect the aboutToShow signals
     self.recentMenu.aboutToShow.connect(self.__showContextMenuRecent)
     self.recentMenu.triggered.connect(self.__openRecent)
     menu.aboutToShow.connect(self.__showMenu)
     
     # build the main menu
     menu.setTearOffEnabled(True)
     menu.addActions(self.actGrp1.actions())
     self.menuRecentAct = menu.addMenu(self.recentMenu)
     menu.addSeparator()
     menu.addAction(self.closeAct)
     menu.addSeparator()
     menu.addAction(self.saveAct)
     menu.addAction(self.saveasAct)
     menu.addSeparator()
     menu.addAction(self.addProjectAct)
     menu.addSeparator()
     menu.addAction(self.propsAct)
     
     self.menu = menu
     return menu
开发者ID:testmana2,项目名称:test,代码行数:38,代码来源:MultiProject.py

示例9: SuggestionsDialog

# 需要导入模块: from PyQt5.QtWidgets import QMenu [as 别名]
# 或者: from PyQt5.QtWidgets.QMenu import addActions [as 别名]
class SuggestionsDialog(QDialog, Ui_SuggestionsDialog, WindowState):

    ROLE = 'suggestions'

    WORDS_RX = re.compile(r'[-\'"\w]+|[^\w\s]')

    STYLE_TRANSLATION, STYLE_STROKES = range(2)

    # Anatomy of the text document:
    # - "root" frame:
    #  - 0+ "suggestions" frames
    #   - 1+ "translation" frames
    #    - 1-10 "strokes" frames

    def __init__(self, engine):
        super(SuggestionsDialog, self).__init__()
        self.setupUi(self)
        suggestions = SuggestionsWidget()
        self.layout().replaceWidget(self.suggestions, suggestions)
        self.suggestions = suggestions
        self._engine = engine
        self._words = u''
        self._last_suggestions = None
        # Toolbar.
        self.layout().addWidget(ToolBar(
            self.action_ToggleOnTop,
            self.action_SelectFont,
            self.action_Clear,
        ))
        self.action_Clear.setEnabled(False)
        # Font popup menu.
        self._font_menu = QMenu()
        self._font_menu_text = QAction(_('&Text'), self._font_menu)
        self._font_menu_strokes = QAction(_('&Strokes'), self._font_menu)
        self._font_menu.addActions([self._font_menu_text, self._font_menu_strokes])
        engine.signal_connect('translated', self.on_translation)
        self.suggestions.setFocus()
        self.restore_state()
        self.finished.connect(self.save_state)

    def _get_font(self, name):
        return getattr(self.suggestions, name)

    def _set_font(self, name, font):
        setattr(self.suggestions, name, font)

    def _restore_state(self, settings):
        for name in (
            'text_font',
            'strokes_font',
        ):
            font_string = settings.value(name)
            if font_string is None:
                continue
            font = QFont()
            if not font.fromString(font_string):
                continue
            self._set_font(name, font)

    def _save_state(self, settings):
        for name in (
            'text_font',
            'strokes_font',
        ):
            font = self._get_font(name)
            font_string = font.toString()
            settings.setValue(name, font_string)

    def _show_suggestions(self, suggestion_list):
        self.suggestions.prepend(suggestion_list)
        self.action_Clear.setEnabled(True)

    @staticmethod
    def tails(ls):
        ''' Return all tail combinations (a la Haskell)

            tails :: [x] -> [[x]]
            >>> tails('abcd')
            ['abcd', 'bcd', 'cd', d']

        '''

        for i in range(len(ls)):
            yield ls[i:]

    def on_translation(self, old, new):
        for action in old:
            remove = len(action.text)
            self._words = self._words[:-remove]
            self._words = self._words + action.replace

        for action in new:
            remove = len(action.replace)
            if remove > 0:
                self._words = self._words[:-remove]
            self._words = self._words + action.text

        # Limit phrasing memory to 100 characters, because most phrases probably
        # don't exceed this length
        self._words = self._words[-100:]
#.........这里部分代码省略.........
开发者ID:morinted,项目名称:plover,代码行数:103,代码来源:suggestions_dialog.py

示例10: SuggestionsDialog

# 需要导入模块: from PyQt5.QtWidgets import QMenu [as 别名]
# 或者: from PyQt5.QtWidgets.QMenu import addActions [as 别名]
class SuggestionsDialog(Tool, Ui_SuggestionsDialog):

    ''' Suggest possible strokes for the last written words. '''

    TITLE = _('Suggestions')
    ICON = ':/lightbulb.svg'
    ROLE = 'suggestions'
    SHORTCUT = 'Ctrl+J'

    WORD_RX = re.compile(r'(?:\w+|[^\w\s]+)\s*')

    STYLE_TRANSLATION, STYLE_STROKES = range(2)

    # Anatomy of the text document:
    # - "root" frame:
    #  - 0+ "suggestions" frames
    #   - 1+ "translation" frames
    #    - 1-10 "strokes" frames

    def __init__(self, engine):
        super(SuggestionsDialog, self).__init__(engine)
        self.setupUi(self)
        self._last_suggestions = None
        # Toolbar.
        self.layout().addWidget(ToolBar(
            self.action_ToggleOnTop,
            self.action_SelectFont,
            self.action_Clear,
        ))
        self.action_Clear.setEnabled(False)
        # Font popup menu.
        self._font_menu = QMenu()
        self._font_menu_text = QAction(_('&Text'), self._font_menu)
        self._font_menu_strokes = QAction(_('&Strokes'), self._font_menu)
        self._font_menu.addActions([self._font_menu_text, self._font_menu_strokes])
        engine.signal_connect('translated', self.on_translation)
        self.suggestions.setFocus()
        self.restore_state()
        self.finished.connect(self.save_state)

    def _get_font(self, name):
        return getattr(self.suggestions, name)

    def _set_font(self, name, font):
        setattr(self.suggestions, name, font)

    def _restore_state(self, settings):
        for name in (
            'text_font',
            'strokes_font',
        ):
            font_string = settings.value(name)
            if font_string is None:
                continue
            font = QFont()
            if not font.fromString(font_string):
                continue
            self._set_font(name, font)
        ontop = settings.value('ontop', None, bool)
        if ontop is not None:
            self.action_ToggleOnTop.setChecked(ontop)
            self.on_toggle_ontop(ontop)

    def _save_state(self, settings):
        for name in (
            'text_font',
            'strokes_font',
        ):
            font = self._get_font(name)
            font_string = font.toString()
            settings.setValue(name, font_string)
        ontop = bool(self.windowFlags() & Qt.WindowStaysOnTopHint)
        settings.setValue('ontop', ontop)

    def _show_suggestions(self, suggestion_list):
        self.suggestions.append(suggestion_list)
        self.action_Clear.setEnabled(True)

    @staticmethod
    def tails(ls):
        ''' Return all tail combinations (a la Haskell)

            tails :: [x] -> [[x]]
            >>> tails('abcd')
            ['abcd', 'bcd', 'cd', d']

        '''

        for i in range(len(ls)):
            yield ls[i:]

    def on_translation(self, old, new):

        # Check for new output.
        for a in reversed(new):
            if a.text and not a.text.isspace():
                break
        else:
            return

#.........这里部分代码省略.........
开发者ID:ohAitch,项目名称:plover,代码行数:103,代码来源:suggestions_dialog.py

示例11: setupTextActions

# 需要导入模块: from PyQt5.QtWidgets import QMenu [as 别名]
# 或者: from PyQt5.QtWidgets.QMenu import addActions [as 别名]
    def setupTextActions(self):
        tb = QToolBar(self)
        tb.setWindowTitle("Format Actions")
        self.addToolBar(tb)

        menu = QMenu("F&ormat", self)
        self.menuBar().addMenu(menu)

        self.actionTextBold = QAction(
                QIcon.fromTheme('format-text-bold',
                        QIcon(rsrcPath + '/textbold.png')),
                "&Bold", self, priority=QAction.LowPriority,
                shortcut=Qt.CTRL + Qt.Key_B, triggered=self.textBold,
                checkable=True)
        bold = QFont()
        bold.setBold(True)
        self.actionTextBold.setFont(bold)
        tb.addAction(self.actionTextBold)
        menu.addAction(self.actionTextBold)

        self.actionTextItalic = QAction(
                QIcon.fromTheme('format-text-italic',
                        QIcon(rsrcPath + '/textitalic.png')),
                "&Italic", self, priority=QAction.LowPriority,
                shortcut=Qt.CTRL + Qt.Key_I, triggered=self.textItalic,
                checkable=True)
        italic = QFont()
        italic.setItalic(True)
        self.actionTextItalic.setFont(italic)
        tb.addAction(self.actionTextItalic)
        menu.addAction(self.actionTextItalic)

        self.actionTextUnderline = QAction(
                QIcon.fromTheme('format-text-underline',
                        QIcon(rsrcPath + '/textunder.png')),
                "&Underline", self, priority=QAction.LowPriority,
                shortcut=Qt.CTRL + Qt.Key_U, triggered=self.textUnderline,
                checkable=True)
        underline = QFont()
        underline.setUnderline(True)
        self.actionTextUnderline.setFont(underline)
        tb.addAction(self.actionTextUnderline)
        menu.addAction(self.actionTextUnderline)

        menu.addSeparator()

        grp = QActionGroup(self, triggered=self.textAlign)

        # Make sure the alignLeft is always left of the alignRight.
        if QApplication.isLeftToRight():
            self.actionAlignLeft = QAction(
                    QIcon.fromTheme('format-justify-left',
                            QIcon(rsrcPath + '/textleft.png')),
                    "&Left", grp)
            self.actionAlignCenter = QAction(
                    QIcon.fromTheme('format-justify-center',
                            QIcon(rsrcPath + '/textcenter.png')),
                    "C&enter", grp)
            self.actionAlignRight = QAction(
                    QIcon.fromTheme('format-justify-right',
                            QIcon(rsrcPath + '/textright.png')),
                    "&Right", grp)
        else:
            self.actionAlignRight = QAction(
                    QIcon.fromTheme('format-justify-right',
                            QIcon(rsrcPath + '/textright.png')),
                    "&Right", grp)
            self.actionAlignCenter = QAction(
                    QIcon.fromTheme('format-justify-center',
                            QIcon(rsrcPath + '/textcenter.png')),
                    "C&enter", grp)
            self.actionAlignLeft = QAction(
                    QIcon.fromTheme('format-justify-left',
                            QIcon(rsrcPath + '/textleft.png')),
                    "&Left", grp)
 
        self.actionAlignJustify = QAction(
                QIcon.fromTheme('format-justify-fill',
                        QIcon(rsrcPath + '/textjustify.png')),
                "&Justify", grp)

        self.actionAlignLeft.setShortcut(Qt.CTRL + Qt.Key_L)
        self.actionAlignLeft.setCheckable(True)
        self.actionAlignLeft.setPriority(QAction.LowPriority)

        self.actionAlignCenter.setShortcut(Qt.CTRL + Qt.Key_E)
        self.actionAlignCenter.setCheckable(True)
        self.actionAlignCenter.setPriority(QAction.LowPriority)

        self.actionAlignRight.setShortcut(Qt.CTRL + Qt.Key_R)
        self.actionAlignRight.setCheckable(True)
        self.actionAlignRight.setPriority(QAction.LowPriority)

        self.actionAlignJustify.setShortcut(Qt.CTRL + Qt.Key_J)
        self.actionAlignJustify.setCheckable(True)
        self.actionAlignJustify.setPriority(QAction.LowPriority)

        tb.addActions(grp.actions())
        menu.addActions(grp.actions())
        menu.addSeparator()
#.........这里部分代码省略.........
开发者ID:inzem77,项目名称:ws-chat2,代码行数:103,代码来源:textEdit.py

示例12: LibraryUI

# 需要导入模块: from PyQt5.QtWidgets import QMenu [as 别名]
# 或者: from PyQt5.QtWidgets.QMenu import addActions [as 别名]
class LibraryUI(QTreeWidget):
    trackChange = pyqtSignal(QTreeWidgetItem, int)
    unknownTrack = pyqtSignal(str)
    meta = ["TRACKNUMBER", "TITLE", "ALBUMARTIST", "ALBUM", "LENGTH", "BITRATE", "STYLE"]

    def __init__(self):
        super().__init__()
        self.setIndentation(0)
        self.setSortingEnabled(True)
        self.setContextMenuPolicy(Qt.CustomContextMenu)
        self.setSelectionMode(QAbstractItemView.ExtendedSelection)
        self.metadataUI = MetadataUI()
        self.songMenu = QMenu("Actions")
        self.addMenu = QMenu("Actions")
        self._connect_widgets()
        self._init_menus()

    def init_playlist(self, lib):
        for song_meta in lib.values():
            info = ['' for i in range(7)]
            try:
                for i in range(7):
                    if i == 4:
                        length = int(song_meta.get(self.meta[i])[0]) / 1000
                        mins = int(length / 60)
                        secs = int(length - 60 * mins)
                        info[i] = str(mins) + ":%02d" % secs
                    elif i == 5:
                        info[i] = song_meta.get(self.meta[i])[0] + " kbit/s"
                    else:
                        info[i] = song_meta.get(self.meta[i])[0]
            except:
                pass

            item = QTreeWidgetItem()
            for i in range(7):
                item.setText(i, info[i])

            item.setData(0, 1, QUrl.fromLocalFile(song_meta.get("DIR")))
            self.addTopLevelItem(item)

        headers = ["#", "Title", "Artist", "Album", "Dur.", "Bitrate", "Genre"]
        self.setColumnCount(6)
        self.header().setDefaultAlignment(Qt.AlignCenter)
        self.setHeaderLabels(headers)
        self.setColumnWidth(0, 50)
        self.setColumnWidth(1, 200)
        self.setColumnWidth(2, 150)
        self.setColumnWidth(3, 150)
        self.setColumnWidth(4, 50)
        self.setColumnWidth(5, 100)
        self.setColumnWidth(6, 50)

    def next_track(self):
        item = self.itemBelow(self.currentItem())
        if item is None:
            item = self.topLevelItem(0)
        self.setCurrentItem(item)
        self.trackChange.emit(item, 0)

    def prev_track(self):
        item = self.itemAbove(self.currentItem())
        if item is None:
            item = self.topLevelItem(self.topLeveLitemCount() - 1)
        self.setCurrentItem(item)
        self.trackChange.emit(item, 0)

    def _connect_widgets(self):
        self.customContextMenuRequested.connect(self.show_menu)
        self.metadataUI.save_metadata.connect(self.save_metadata)
        self.metadataUI.closeButton.clicked.connect(self.close_metadata)

    @pyqtSlot(QPoint)
    def show_menu(self, point):
        if self.currentItem() is None:
            self.addMenu.exec(self.mapToGlobal(point))
        else:
            self.songMenu.exec(self.mapToGlobal(point))

    def _init_menus(self):
        self._init_song_menu()
        self._init_add_menu()

    def _init_add_menu(self):
        self.menuAdd = QAction("Add Songs...", self.addMenu)
        self.addMenu.addAction(self.menuAdd)

    def _init_song_menu(self):
        self.menuPlay = QAction("Play Song", self.songMenu)
        self.menuEdit = QAction("Edit Metadata", self.songMenu)
        self.songMenu.addActions([self.menuPlay, self.menuEdit])
        self.menuPlay.triggered.connect(self.current_track)
        self.menuEdit.triggered.connect(self.show_metadata)

    def current_track(self):
        self.trackChange.emit(self.currentItem(), 0)

    def show_metadata(self):
        self.setEnabled(False)
        self.metadataUI.load_data(self.currentItem())
#.........这里部分代码省略.........
开发者ID:amnobis,项目名称:Euphonia,代码行数:103,代码来源:library_ui.py

示例13: __init__

# 需要导入模块: from PyQt5.QtWidgets import QMenu [as 别名]
# 或者: from PyQt5.QtWidgets.QMenu import addActions [as 别名]
	def __init__(self, supported_exts, parent=None):
		super().__init__(parent)

		self._diasshowRunning = False
		# a dummy widget to center actions
		spacer1 = QWidget()
		spacer1.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Preferred)
		self.addWidget(spacer1)

		self.supportedExts = supported_exts
		self._fromFile = self.addAction(QIcon("icons/image-outline.svg"), "", self.chooseFile) # load images from file
		self._fromFile.setToolTip("Load image")
		self._fromFolder = self.addAction(QIcon("icons/folder-open.svg"), "", self.chooseFolder) # load images from folder
		self._fromFolder.setToolTip("Load from directory")

		# View in native size, fit width, fit height or fit image
		self._imageMode = QToolButton(self)
		self._imageMode.setIcon(QIcon("icons/eye-outline.svg"))
		self._imageMode.setToolTip("Image view mode")
		self._imageMode.setPopupMode(QToolButton.InstantPopup)
		self.addWidget(self._imageMode)
		
		# imageMode menu
		imageModeMenu = QMenu(self)
		imageModeActions = QActionGroup(imageModeMenu)
		imModeAct1 = imageModeActions.addAction("Native size")
		imModeAct1.setCheckable(True)
		imModeAct1.triggered.connect(lambda: self.imageModeChanged.emit(0))
		imModeAct2 = imageModeActions.addAction("Fit in view")
		imModeAct2.setCheckable(True)
		imModeAct2.triggered.connect(lambda: self.imageModeChanged.emit(1))
		imModeAct3 = imageModeActions.addAction("Fit width")
		imModeAct3.setCheckable(True)
		imModeAct3.triggered.connect(lambda: self.imageModeChanged.emit(2))
		imModeAct4 = imageModeActions.addAction("Fit height")
		imModeAct4.setCheckable(True)
		imModeAct4.triggered.connect(lambda: self.imageModeChanged.emit(3))
		imageModeActions.setExclusive(True)
		imageModeMenu.addActions(imageModeActions.actions())
		self._imageMode.setMenu(imageModeMenu)

		
		self._imgDirection = self.addAction(QIcon("icons/arrow-move-outline.svg"), "", self.imageDirectionChanged.emit) # Horizontal or Vertical
		self._imgDirection.setToolTip("Toggle image direction")

		# start or stop diasshow
		self._playDias = self.addAction(QIcon("icons/media-play-outline.svg"), "", self.diasshowState)
		self._playDias.setToolTip("Start/stop diasshow")

		#diasshow menu
		self._diasMenu = QMenu(self)
		self._diasMenu.addAction("5 seconds", lambda: self.diasshowState(5))
		self._diasMenu.addAction("10 seconds", lambda: self.diasshowState(10))
		self._diasMenu.addAction("30 seconds", lambda: self.diasshowState(30))
		self._diasMenu.addAction("5 minutes", lambda: self.diasshowState(60*5))
		self._diasMenu.addAction("10 minutes", lambda: self.diasshowState(600))
		self._playDias.setMenu(self._diasMenu)


		self._zoomIn = self.addAction(QIcon("icons/zoom-in-outline.svg"), "", lambda: self.zoomChanged.emit(True))
		self._zoomOut = self.addAction(QIcon("icons/zoom-out-outline.svg"), "", lambda: self.zoomChanged.emit(False))
		self._rotateCW = self.addAction(QIcon("icons/rotate-cw-outline.svg"), "", self.rotateChanged.emit) # Clockwise
		self._rotateCW.setToolTip("Rotate Clockwise")
		#self._rotateCCW = self.addAction("Rotate Left") # Counter clockwise

		# a dummy widget to center actions
		spacer2 = QWidget()
		spacer2.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Preferred)
		self.addWidget(spacer2)
开发者ID:iSplasher,项目名称:happyview,代码行数:71,代码来源:controls.py

示例14: vMCDA

# 需要导入模块: from PyQt5.QtWidgets import QMenu [as 别名]
# 或者: from PyQt5.QtWidgets.QMenu import addActions [as 别名]
class vMCDA(object):

	def __init__(self, iface):
		# Save the reference to the QGIS interface
		self.iface = iface
		#initialize plugin directory
		self.pluginDir = os.path.dirname(__file__)
		# initialize locale
		locale = QSettings().value("locale/userLocale")[0:2]
		localePath = os.path.join(self.pluginDir, 'i18n', 'opeNoise_{}.qm'.format(locale))
		if os.path.exists(localePath):
			self.translator = QTranslator()
			self.translator.load(localePath)
			if qVersion() > '4.3.3':
				QCoreApplication.installTranslator(self.translator)

	def initGui(self):	# aggiunge alla GUI di QGis i pulsanti per richiamare il plugin
		# creiamo l'azione che lancerà il plugin
		
		self.geoMCDAmenu = QMenu(QCoreApplication.translate("vectorMCDA", "&vectorMCDA"))
		self.geoMCDAmenu.setIcon(QIcon(":/plugins/VectorMCDA/icons/Tree.png"))

		self.actionWeightedSum = QAction("geoWeightedSum",self.iface.mainWindow() )
		self.actionWeightedSum.triggered.connect(self.runGeoWeightedSum )

		self.actionTOPSIS = QAction( "geoTOPSIS", self.iface.mainWindow() )
		self.actionTOPSIS.triggered.connect(self.runGeoTOPSIS )

		self.actionFuzzy = QAction( "geoFuzzy", self.iface.mainWindow() )
		self.actionFuzzy.triggered.connect(self.runGeoFuzzy )
		self.actionFuzzy.setDisabled(True)

		self.actionElectre = QAction( "geoConcordance", self.iface.mainWindow() )
		self.actionElectre.triggered.connect(self.runGeoElectre )

		self.actionPromethee = QAction( "geoPromethee", self.iface.mainWindow() )
		self.actionPromethee.triggered.connect(self.runGeoPromethee )

		self.actionRSDB = QAction( "geoRSDB", self.iface.mainWindow() )
		self.actionRSDB.triggered.connect(self.runGeoRSDB )

		self.actionRSDB = QAction( "geoRULES", self.iface.mainWindow() )
		self.actionRSDB.triggered.connect(self.runGeoRULES )

		self.actionXMCDA = QAction( "geoXMCDA", self.iface.mainWindow() )
		self.actionXMCDA.triggered.connect(self.runGeoXMCDA )
		
		self.actionUmbriaSuit = QAction( "geoUmbriaSUIT", self.iface.mainWindow() )
		self.actionUmbriaSuit.triggered.connect(self.runGeoUmbriaSuit )
		self.actionFuzzy.setDisabled(True)
		
		#self.actionTEMPLATE = QAction( "geoTEMPLATE", self.iface.mainWindow() )
		#self.actionTEMPLATE.triggered.connect(self.runGeoTEMPLATE )

		# aggiunge il plugin alla toolbar
		self.geoMCDAmenu.addActions([self.actionWeightedSum,self.actionTOPSIS,self.actionFuzzy,\
			self.actionElectre,self.actionPromethee,self.actionRSDB,self.actionXMCDA,self.actionUmbriaSuit])
		self.menu = self.iface.pluginMenu()
		self.menu.addMenu( self.geoMCDAmenu )


	def unload(self):	# rimuove dalla GUI i pulsanti aggiunti dal plugin
		#self.iface.removeToolBarIcon( self.action )
		self.iface.removePluginMenu( "&geoWeightedSum", self.actionWeightedSum )
		self.iface.removePluginMenu( "&geoTOPSIS", self.actionTOPSIS )
		self.iface.removePluginMenu( "&geoFuzzy", self.actionFuzzy )
		self.iface.removePluginMenu( "&geoConcordance", self.actionElectre )
		self.iface.removePluginMenu( "&geoPromethee", self.actionPromethee )
		self.iface.removePluginMenu( "&geoRSDB", self.actionRSDB )
		self.iface.removePluginMenu( "&geoRULES", self.actionRSDB )
		self.iface.removePluginMenu( "&geoXMCDA", self.actionXMCDA )
		self.iface.removePluginMenu( "&geoUmbriaSuit", self.actionUmbriaSuit )
		#self.iface.removePluginMenu( "&geoTEMPLATE", self.actionTEMPLATE )


	def runGeoWeightedSum(self):	# richiamato al click sull'azione
		from .geoWeightedSum import geoWeightedSumDialog
		self.activeLayer = self.iface.activeLayer()
		if ((self.activeLayer == None) or (self.activeLayer.type() != QgsMapLayer.VectorLayer)):
			result=QMessageBox.question(self.iface.mainWindow(), "VectorMCDA",
			("No active layer found\n" "Please make active one or more vector layer\n" \
            "Do you need documents or data ?"), QMessageBox.Yes | QMessageBox.No, QMessageBox.No)
			if result  == QMessageBox.Yes:
				webbrowser.open("http://maplab.alwaysdata.net/geomcda.html")
		else:
			dlg = geoWeightedSumDialog(self.iface)
			dlg.exec_()

	def runGeoTOPSIS(self):	# richiamato al click sull'azione
		from .geoTOPSIS import geoTOPSISDialog
		self.activeLayer = self.iface.activeLayer()
		if ((self.activeLayer == None) or (self.activeLayer.type() != QgsMapLayer.VectorLayer)):
			result=QMessageBox.question(self.iface.mainWindow(), "VectorMCDA",
			("No active layer found\n" "Please make active one or more vector layer\n" \
            "Do you need documents or data ?"), QMessageBox.Yes | QMessageBox.No, QMessageBox.No)
			if result  == QMessageBox.Yes:
				webbrowser.open("http://maplab.alwaysdata.net/geomcda.html")
		else:
			dlg = geoTOPSISDialog(self.iface)
			dlg.exec_()
#.........这里部分代码省略.........
开发者ID:gmassei,项目名称:VectorMCDA,代码行数:103,代码来源:VectorMCDA.py


注:本文中的PyQt5.QtWidgets.QMenu.addActions方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。