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


Python QMenu.move方法代码示例

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


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

示例1: contextMenuEvent

# 需要导入模块: from PyQt5.QtWidgets import QMenu [as 别名]
# 或者: from PyQt5.QtWidgets.QMenu import move [as 别名]
 def contextMenuEvent(self, evt):
     """
     Protected method handling context menu events.
     
     @param evt reference to the context menu event (QContextMenuEvent)
     """
     point = evt.globalPos()
     
     if self.__browser:
         point = self.__browser.mapFromGlobal(point)
         if not self.__browser.rect().contains(point, True):
             return
         link = QUrl(self.__browser.anchorAt(point))
     else:
         point = self.__result.mapFromGlobal(point)
         link = self.__result.linkAt(point)
     
     if link.isEmpty() or not link.isValid():
         return
     
     menu = QMenu()
     curTab = menu.addAction(self.tr("Open Link"))
     newTab = menu.addAction(self.tr("Open Link in New Tab"))
     menu.move(evt.globalPos())
     act = menu.exec_()
     if act == curTab:
         self.linkActivated.emit(link)
     elif act == newTab:
         self.__mw.newTab(link)
开发者ID:pycom,项目名称:EricShort,代码行数:31,代码来源:HelpSearchWidget.py

示例2: show_context_menu

# 需要导入模块: from PyQt5.QtWidgets import QMenu [as 别名]
# 或者: from PyQt5.QtWidgets.QMenu import move [as 别名]
    def show_context_menu(self, position):
        items = []
        for class_ in sorted(self._context_items.keys(), key=lambda i: str(i)):
            if isinstance(self.get_context_cue(), class_):
                items.extend(self._context_items[class_])

        if len(items) > 0:
            menu = QMenu(self)

            for item in items:
                if isinstance(item, QAction):
                    menu.addAction(item)
                elif isinstance(item, QMenu):
                    menu.addMenu(item)

            menu.move(position)
            menu.show()

            # Adjust the menu position
            desktop = qApp.desktop().availableGeometry()
            menu_rect = menu.geometry()

            if menu_rect.bottom() > desktop.bottom():
                menu.move(menu.x(), menu.y() - menu.height())
            if menu_rect.right() > desktop.right():
                menu.move(menu.x() - menu.width(), menu.y())
开发者ID:tornel,项目名称:linux-show-player,代码行数:28,代码来源:cue_layout.py

示例3: __showContextMenu

# 需要导入模块: from PyQt5.QtWidgets import QMenu [as 别名]
# 或者: from PyQt5.QtWidgets.QMenu import move [as 别名]
 def __showContextMenu(self, pos):
     """
     Private slot showing the context menu.
     
     @param pos position to show the menu at (QPoint)
     """
     if not self.__tocWidget.indexAt(pos).isValid():
         return
     
     menu = QMenu()
     curTab = menu.addAction(self.tr("Open Link"))
     newTab = menu.addAction(self.tr("Open Link in New Tab"))
     menu.move(self.__tocWidget.mapToGlobal(pos))
     
     model = self.__tocWidget.model()
     itm = model.contentItemAt(self.__tocWidget.currentIndex())
     
     act = menu.exec_()
     if act == curTab:
         self.linkActivated.emit(itm.url())
     elif act == newTab:
         self.__mw.newTab(itm.url())
开发者ID:pycom,项目名称:EricShort,代码行数:24,代码来源:HelpTocWidget.py

示例4: show_context_menu

# 需要导入模块: from PyQt5.QtWidgets import QMenu [as 别名]
# 或者: from PyQt5.QtWidgets.QMenu import move [as 别名]
    def show_context_menu(self, position):
        menu = QMenu(self)

        cue_class = self.get_context_cue().__class__
        for item in self.cm_registry.filter(cue_class):
            if isinstance(item, QAction):
                menu.addAction(item)
            elif isinstance(item, QMenu):
                menu.addMenu(item)

        menu.move(position)
        menu.show()

        # Adjust the menu position
        desktop = qApp.desktop().availableGeometry()
        menu_rect = menu.geometry()

        if menu_rect.bottom() > desktop.bottom():
            menu.move(menu.x(), menu.y() - menu.height())
        if menu_rect.right() > desktop.right():
            menu.move(menu.x() - menu.width(), menu.y())
开发者ID:chippey,项目名称:linux-show-player,代码行数:23,代码来源:cue_layout.py

示例5: eventFilter

# 需要导入模块: from PyQt5.QtWidgets import QMenu [as 别名]
# 或者: from PyQt5.QtWidgets.QMenu import move [as 别名]
 def eventFilter(self, watched, event):
     """
     Public method called to filter the event queue.
     
     @param watched the QObject being watched (QObject)
     @param event the event that occurred (QEvent)
     @return flag indicating whether the event was handled (boolean)
     """
     if self.__searchEdit and watched == self.__searchEdit and \
        event.type() == QEvent.KeyPress:
         idx = self.__index.currentIndex()
         if event.key() == Qt.Key_Up:
             idx = self.__index.model().index(
                 idx.row() - 1, idx.column(), idx.parent())
             if idx.isValid():
                 self.__index.setCurrentIndex(idx)
         elif event.key() == Qt.Key_Down:
             idx = self.__index.model().index(
                 idx.row() + 1, idx.column(), idx.parent())
             if idx.isValid():
                 self.__index.setCurrentIndex(idx)
         elif event.key() == Qt.Key_Escape:
             self.escapePressed.emit()
     elif self.__index and watched == self.__index and \
             event.type() == QEvent.ContextMenu:
         idx = self.__index.indexAt(event.pos())
         if idx.isValid():
             menu = QMenu()
             curTab = menu.addAction(self.tr("Open Link"))
             newTab = menu.addAction(self.tr("Open Link in New Tab"))
             menu.move(self.__index.mapToGlobal(event.pos()))
             
             act = menu.exec_()
             if act == curTab:
                 self.__activated(idx)
             elif act == newTab:
                 model = self.__index.model()
                 if model is not None:
                     keyword = model.data(idx, Qt.DisplayRole)
                     links = model.linksForKeyword(keyword)
                     if len(links) == 1:
                         self.__mw.newTab(list(links.values())[0])
                     elif len(links) > 1:
                         from .HelpTopicDialog import HelpTopicDialog
                         dlg = HelpTopicDialog(self, keyword, links)
                         if dlg.exec_() == QDialog.Accepted:
                             self.__mw.newTab(dlg.link())
     elif self.__index and watched == self.__index.viewport() and \
             event.type() == QEvent.MouseButtonRelease:
         idx = self.__index.indexAt(event.pos())
         if idx.isValid() and event.button() == Qt.MidButton:
             model = self.__index.model()
             if model is not None:
                 keyword = model.data(idx, Qt.DisplayRole)
                 links = model.linksForKeyword(keyword)
                 if len(links) == 1:
                     self.__mw.newTab(list(links.values())[0])
                 elif len(links) > 1:
                     from .HelpTopicDialog import HelpTopicDialog
                     dlg = HelpTopicDialog(self, keyword, links)
                     if dlg.exec_() == QDialog.Accepted:
                         self.__mw.newTab(dlg.link())
     
     return QWidget.eventFilter(self, watched, event)
开发者ID:testmana2,项目名称:test,代码行数:66,代码来源:HelpIndexWidget.py

示例6: Projekt

# 需要导入模块: from PyQt5.QtWidgets import QMenu [as 别名]
# 或者: from PyQt5.QtWidgets.QMenu import move [as 别名]

#.........这里部分代码省略.........
        self.scenario_content.addItem(empty)

    def event_delete(self):
        """
        Delete the selected event (event in the scenario content)
        """
        if self.event_selected and self.scenario_selected:
            # check if it's not the last line
            cot = self.scenario_content.currentItem()
            if self.scenario_content.row(cot) != len(self.scenario_selected.events):
                event2delete = self.event_selected
                # remove it from the view
                self.scenario_content.takeItem(self.scenario_content.row(cot))
                # remove it from the model
                self.scenario_selected.del_event(event2delete)
            else:
                # If it's the last line, we don't delete the last line
                pass
                #self.scenario_display_clear()
                #self.scenario_display(self.scenario_selected)
                #self.event_selected = None

    def delete_event_list(self):
        """
        Delete the event_list_selected (event in the project content)
        """
        if self.event_list_selected:
            cot = self.events_list_table.currentItem()
            event2delete = self.event_list_selected
            # remove it from the model
            if self.project.del_event(event2delete):
                # if the model answer ok to delete the event continue...
                # ...and remove it from the view
                self.events_list_table.removeRow(self.events_list_table.row(cot))

    def event_right_click(self, QPos):
        """
        Called when user right-click on an event
        """
        self.listMenu = QMenu()
        play = self.listMenu.addAction("Play one")
        play_from_here = self.listMenu.addAction("Play from here")
        play.triggered.connect(self.event_play_func)
        play_from_here.triggered.connect(self.event_play_from_here_func)
        parentPosition = self.scenario_content.mapToGlobal(QPoint(0, 0))
        self.listMenu.move(parentPosition + QPos)
        self.listMenu.show()

    def event_play_func(self):
        """
        Play the selected event
        """
        if self.event_selected and type(self.event_selected.command) != int:
            return self.event_selected.play()
        else:
            return False

    def event_play_from_here_func(self):
        """
        Play from the selected event
        """
        if self.event_selected:
            self.scenario_selected.play_from_here(self.event_selected)

    def play_event_list(self):
        """
开发者ID:PixelStereo,项目名称:lekture,代码行数:70,代码来源:projekt.py

示例7: MainWindow

# 需要导入模块: from PyQt5.QtWidgets import QMenu [as 别名]
# 或者: from PyQt5.QtWidgets.QMenu import move [as 别名]

#.........这里部分代码省略.........
        self.invertSelection.setShortcut("CTRL+I")
        self.multiEdit.setText("Edit selected media")
        self.multiEdit.setShortcut("CTRL+SHIFT+E")
        # menuLayout
        self.menuLayout.setTitle("&Layout")
        # menuTools
        self.menuTools.setTitle("&Tools")
        self.multiEdit.setText("Edit selected media")
        # menuAbout
        self.menuAbout.setTitle("&About")
        self.actionAbout.setText("About")
        self.actionAbout_Qt.setText("About Qt")

    def set_layout(self, layout):
        if self.layout is not None:
            self.takeCentralWidget().hide()

            self.multiEdit.triggered.disconnect()
            self.selectAll.triggered.disconnect()
            self.deselectAll.triggered.disconnect()
            self.invertSelection.triggered.disconnect()

        self.layout = layout
        self.setCentralWidget(self.layout)
        self.layout.show()

        self.multiEdit.triggered.connect(self.layout.edit_selected_cues)
        self.selectAll.triggered.connect(self.layout.select_all)
        self.deselectAll.triggered.connect(self.layout.deselect_all)
        self.invertSelection.triggered.connect(self.layout.invert_selection)

    def contextMenuEvent(self, event):
        if self.layout.geometry().contains(event.pos()):
            self.menuEdit.move(event.globalPos())
            self.menuEdit.show()

            # Adjust the menu position
            desktop = qApp.desktop().availableGeometry()
            menu_rect = self.menuEdit.geometry()
    
            if menu_rect.bottom() > desktop.bottom():
                self.menuEdit.move(self.menuEdit.x(),
                                   self.menuEdit.y() - self.menuEdit.height())
            if menu_rect.right() > desktop.right():
                self.menuEdit.move(self.menuEdit.x() - self.menuEdit.width(),
                                   self.menuEdit.y())

    def closeEvent(self, event):
        self._exit()
        event.ignore()

    def register_cue_menu_action(self, name, function, category='', shortcut=''):
        """Register a new-cue choice for the edit-menu

        param name: The name for the MenuAction
        param function: The function that add the new cue(s)
        param category: The optional menu where insert the MenuAction
        param shortcut: An optional shortcut for the MenuAction
        """
        action = QAction(self)
        action.setText(name)
        action.triggered.connect(function)
        if shortcut != '':
            action.setShortcut(shortcut)

        if category != '':
开发者ID:chippey,项目名称:linux-show-player,代码行数:70,代码来源:mainwindow.py


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