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


Python QWidget.eventFilter方法代码示例

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


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

示例1: eventFilter

# 需要导入模块: from PyQt5.QtWidgets import QWidget [as 别名]
# 或者: from PyQt5.QtWidgets.QWidget import eventFilter [as 别名]
 def eventFilter(self, obj, ev):
     if ev.type() == QEvent.KeyPress:
         if ev.key() == Qt.Key_Return:
             text = self.execution.toPlainText().split('\n')
             self.execute(text[-1])
             return self.execution.event(ev)
     QWidget.eventFilter(self, obj, ev)
     return False
开发者ID:thuesdays,项目名称:remote_executor,代码行数:10,代码来源:RemoteControl.py

示例2: eventFilter

# 需要导入模块: from PyQt5.QtWidgets import QWidget [as 别名]
# 或者: from PyQt5.QtWidgets.QWidget import eventFilter [as 别名]
    def eventFilter(self, object, event):
        if object == self.btnSplit and event.type() == event.HoverEnter:
            # self.setAutoFillBackground(True)
            # self.setBackgroundRole(QPalette.Highlight)

            # self.splitter.setAutoFillBackground(True)
            # self.splitter.setStyleSheet("""QSplitter#{}{{
            #     border:1px solid darkblue;
            #     }}""".format(self.splitter.objectName()))

            self.setStyleSheet(style.mainEditorTabSS() + """
                QSplitter#{name},
                QSplitter#{name} > QWidget > QSplitter{{
                    border:3px solid {color};
                }}""".format(
                    name=self.splitter.objectName(),
                    color=style.highlight))
        elif object == self.btnSplit and event.type() == event.HoverLeave:
            # self.setAutoFillBackground(False)
            # self.setBackgroundRole(QPalette.Window)

            # self.splitter.setStyleSheet("""QSplitter#{}{{
            #     border: 1px solid transparent;
            #     }}""".format(self.splitter.objectName()))

            self.setStyleSheet(style.mainEditorTabSS())
        return QWidget.eventFilter(self, object, event)
开发者ID:olivierkes,项目名称:manuskript,代码行数:29,代码来源:tabSplitter.py

示例3: eventFilter

# 需要导入模块: from PyQt5.QtWidgets import QWidget [as 别名]
# 或者: from PyQt5.QtWidgets.QWidget import eventFilter [as 别名]
 def eventFilter(self, obj, evt):
     """
     Public method to handle some events for the tabbar.
     
     @param obj reference to the object (QObject)
     @param evt reference to the event object (QEvent)
     @return flag indicating, if the event was handled (boolean)
     """
     if obj == self.__tabBar:
         if evt.type() == QEvent.MouseButtonPress:
             pos = evt.pos()
             for i in range(self.__tabBar.count()):
                 if self.__tabBar.tabRect(i).contains(pos):
                     break
             
             if i == self.__tabBar.currentIndex():
                 if self.isMinimized():
                     self.expand()
                 else:
                     self.shrink()
                 return True
             elif self.isMinimized():
                 self.expand()
         elif evt.type() == QEvent.Wheel:
             if qVersion() >= "5.0.0":
                 delta = evt.angleDelta().y()
             else:
                 delta = evt.delta()
             if delta > 0:
                 self.prevTab()
             else:
                 self.nextTab()
             return True
     
     return QWidget.eventFilter(self, obj, evt)
开发者ID:pycom,项目名称:EricShort,代码行数:37,代码来源:E5SideBar.py

示例4: eventFilter

# 需要导入模块: from PyQt5.QtWidgets import QWidget [as 别名]
# 或者: from PyQt5.QtWidgets.QWidget import eventFilter [as 别名]
 def eventFilter(self, obj, event):
     if obj == self.editor and event.type() == QEvent.Enter:
         for w in [self.scrollBar, self.topPanel,
                   self.bottomPanel, self.leftPanel]:
             # w.setVisible(False)
             self.hideWidget(w)
     return QWidget.eventFilter(self, obj, event)
开发者ID:georgehank,项目名称:manuskript,代码行数:9,代码来源:fullScreenEditor.py

示例5: eventFilter

# 需要导入模块: from PyQt5.QtWidgets import QWidget [as 别名]
# 或者: from PyQt5.QtWidgets.QWidget import eventFilter [as 别名]
 def eventFilter(self, source, event):
     if (source in self.cardLabels and event.type() == QtCore.QEvent.Resize):
         if source.card.golden:
             source.card_data.setScaledSize(source.size())
         else:
             source.setPixmap(source.card_data.scaled(source.size(),
                                                      QtCore.Qt.KeepAspectRatio,
                                                      QtCore.Qt.SmoothTransformation))
     return QWidget.eventFilter(self, source, event)
开发者ID:Arzaroth,项目名称:HearthPacks,代码行数:11,代码来源:packs.py

示例6: eventFilter

# 需要导入模块: from PyQt5.QtWidgets import QWidget [as 别名]
# 或者: from PyQt5.QtWidgets.QWidget import eventFilter [as 别名]
    def eventFilter(self, obj, event):
        # http://stackoverflow.com/questions/13788452/
        # pyqt-how-to-handle-event-without-inheritance

        # https://srinikom.github.io/pyside-docs/PySide/QtCore/QObject.
        # html#PySide.QtCore.PySide.QtCore.QObject.installEventFilter

        if event.type() == QEvent.FontChange:
            return True  # Eat the event to disable zooming
        else:
            return QWidget.eventFilter(self, obj, event)
开发者ID:jnsebgosselin,项目名称:WHAT,代码行数:13,代码来源:about.py

示例7: eventFilter

# 需要导入模块: from PyQt5.QtWidgets import QWidget [as 别名]
# 或者: from PyQt5.QtWidgets.QWidget import eventFilter [as 别名]
    def eventFilter(self, object, event):
        if event.type() == QEvent.Close:
            if isinstance(object, MainWindow):
                window = object

                for checkBox, w in self.mainWindowForCheckBoxMap.items():
                    if w is window:
                        break
                else:
                    checkBox = None

                if checkBox:
                    checkBox.setChecked(False)

        return QWidget.eventFilter(self, object, event)
开发者ID:dragondjf,项目名称:PySideDemo,代码行数:17,代码来源:i18n.py

示例8: eventFilter

# 需要导入模块: from PyQt5.QtWidgets import QWidget [as 别名]
# 或者: from PyQt5.QtWidgets.QWidget import eventFilter [as 别名]
    def eventFilter(self, obj, event):
        """An event filter that looks for focus in events, closing any floating
           docks when found."""

        # Note: We can't ``def focusInEvent(self, focusEvent)`` since qutepart
        # is the focus proxy, meaning this won't be called. Hence, the neeed for
        # an event listener.
        if (event.type() == QEvent.FocusIn and
          (obj == self or obj == self.focusProxy()) ):
            for dock in core.mainWindow().findChildren(DockWidget):
                # Close all unpinned docks. The exception: if the Open Files 
                # dock is waiting for the Ctrl button to be released, keep it 
                # open; it will be be closed when Ctrl is released.
                if not dock.isPinned() and (not getattr(dock, '_waitForCtrlRelease', False)):
                    dock._close()

        return QWidget.eventFilter(self, obj, event)
开发者ID:bjones1,项目名称:enki,代码行数:19,代码来源:document.py

示例9: eventFilter

# 需要导入模块: from PyQt5.QtWidgets import QWidget [as 别名]
# 或者: from PyQt5.QtWidgets.QWidget import eventFilter [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.__browser and watched == self.__browser.viewport() and \
        event.type() == QEvent.MouseButtonRelease:
         link = self.__result.linkAt(event.pos())
         if not link.isEmpty() and link.isValid():
             ctrl = event.modifiers() & Qt.ControlModifier
             if (event.button() == Qt.LeftButton and ctrl) or \
                event.button() == Qt.MidButton:
                 self.__mw.newTab(link)
     
     return QWidget.eventFilter(self, watched, event)
开发者ID:pycom,项目名称:EricShort,代码行数:20,代码来源:HelpSearchWidget.py

示例10: eventFilter

# 需要导入模块: from PyQt5.QtWidgets import QWidget [as 别名]
# 或者: from PyQt5.QtWidgets.QWidget import eventFilter [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.__tocWidget and watched == self.__tocWidget.viewport() and \
        event.type() == QEvent.MouseButtonRelease:
         if self.__tocWidget.indexAt(event.pos()).isValid() and \
            event.button() == Qt.LeftButton:
             self.itemClicked(self.__tocWidget.currentIndex())
         elif self.__tocWidget.indexAt(event.pos()).isValid() and \
                 event.button() == Qt.MidButton:
             model = self.__tocWidget.model()
             itm = model.contentItemAt(self.__tocWidget.currentIndex())
             self.__mw.newTab(itm.url())
     
     return QWidget.eventFilter(self, watched, event)
开发者ID:pycom,项目名称:EricShort,代码行数:22,代码来源:HelpTocWidget.py

示例11: eventFilter

# 需要导入模块: from PyQt5.QtWidgets import QWidget [as 别名]
# 或者: from PyQt5.QtWidgets.QWidget import eventFilter [as 别名]
    def eventFilter(self, obj, event):
        pass  # suppress docsting for non-public method
        """QWidget.eventFilter implementation. Catches _edit key pressings. Processes some of them
        """
        if event.type() == QEvent.KeyPress:
            if event.matches(QKeySequence.MoveToNextLine):
                if self._edit.cursorPosition[0] == (len(self._edit.lines) - 1):
                    self._onHistoryNext()
                    return True
            elif event.matches(QKeySequence.MoveToPreviousLine):
                if self._edit.cursorPosition[0] == 0:
                    self._onHistoryPrev()
                    return True
            elif event.matches(QKeySequence.MoveToNextPage) or \
                    event.matches(QKeySequence.MoveToPreviousPage):
                self._browser.keyPressEvent(event)
                return True
            elif event.matches(QKeySequence.InsertParagraphSeparator):
                return self._editNewLineEvent()

        return QWidget.eventFilter(self, obj, event)
开发者ID:freason,项目名称:enki,代码行数:23,代码来源:termwidget.py

示例12: eventFilter

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

        if event.type() == QtCore.QEvent.MouseMove:
            newClickPosition = source.mapTo(self.mdi, event.pos())
            for s in self.mdi.subWindowList():
                if source == s.widget() and self.moving:
                    newWidgetX = self.prevWidgetPosition.x() + newClickPosition.x() - self.downPosition.x()
                    newWidgetY = self.prevWidgetPosition.y() + newClickPosition.y() - self.downPosition.y()
                    s.move(newWidgetX, newWidgetY)

        elif event.type() == QtCore.QEvent.MouseButtonPress:
            if (source.cursor().shape() == QtCore.Qt.SizeVerCursor or source.cursor().shape() == QtCore.Qt.SizeHorCursor):
                # resizing hack: resizing works as some mdi feature, just don't set moving parameters here.
                pass
            else:
                self.downPosition = source.mapTo(self.mdi, event.pos())
                self.prevWidgetPosition = source.mapTo(self.mdi, source.pos())
                self.moving = True

        elif event.type() == QtCore.QEvent.MouseButtonRelease:
            self.moving = False

        return QWidget.eventFilter(self, source, event)
开发者ID:JBrinkmann,项目名称:spyge,代码行数:25,代码来源:menu.py

示例13: eventFilter

# 需要导入模块: from PyQt5.QtWidgets import QWidget [as 别名]
# 或者: from PyQt5.QtWidgets.QWidget import eventFilter [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

示例14: eventFilter

# 需要导入模块: from PyQt5.QtWidgets import QWidget [as 别名]
# 或者: from PyQt5.QtWidgets.QWidget import eventFilter [as 别名]
    def eventFilter(self, widget, event):
        """A filter to control the zooming and panning of the figure canvas."""

        # http://stackoverflow.com/questions/17525608/
        # event-filter-cannot-intercept-wheel-event-from-qscrollarea

        # http://stackoverflow.com/questions/20420072/
        # pyside-keypressevent-catching-enter-or-return

        # http://stackoverflow.com/questions/19113532/
        # qgraphicsview-zooming-in-and-out-under-mouse-position
        # -using-mouse-wheel

        # ZOOM ----------------------------------------------------------------

        if event.type() == QEvent.Wheel:

            # http://stackoverflow.com/questions/8772595/
            # how-to-check-if-a-key-modifier-is-pressed-shift-ctrl-alt

            modifiers = QApplication.keyboardModifiers()

            if modifiers == Qt.ControlModifier:
                if event.angleDelta().y() > 0:
                    self.zoomIn()
                else:
                    self.zoomOut()
                return True
            else:
                return False

        # PAN -----------------------------------------------------------------

        # Set ClosedHandCursor:

        elif event.type() == QEvent.MouseButtonPress:
            if event.button() == Qt.LeftButton:
                QApplication.setOverrideCursor(Qt.ClosedHandCursor)
                self.pan = True
                self.xclick = event.globalX()
                self.yclick = event.globalY()

        # Reset Cursor:

        elif event.type() == QEvent.MouseButtonRelease:
            QApplication.restoreOverrideCursor()
            self.pan = False

        # Move  ScrollBar:

        elif event.type() == QEvent.MouseMove:
            if self.pan is True:
                dx = self.xclick - event.globalX()
                self.xclick = event.globalX()

                dy = self.yclick - event.globalY()
                self.yclick = event.globalY()

                scrollBarH = self.horizontalScrollBar()
                scrollBarH.setValue(scrollBarH.value() + dx)

                scrollBarV = self.verticalScrollBar()
                scrollBarV.setValue(scrollBarV.value() + dy)

        return QWidget.eventFilter(self, widget, event)
开发者ID:jnsebgosselin,项目名称:WHAT,代码行数:67,代码来源:mplFigViewer3.py

示例15: eventFilter

# 需要导入模块: from PyQt5.QtWidgets import QWidget [as 别名]
# 或者: from PyQt5.QtWidgets.QWidget import eventFilter [as 别名]
 def eventFilter(self, source, event):
     if event.type() == QEvent.KeyRelease and self.isVisible() and not self.window().top_search_bar.hasFocus() and\
             event.key() == Qt.Key_Space:
         self.on_play_pause_button_click()
     return QWidget.eventFilter(self, source, event)
开发者ID:synctext,项目名称:tribler,代码行数:7,代码来源:videoplayerpage.py


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