def eventFilter(self, viewport, event): view = viewport.parent() if event.type() == QEvent.MouseButtonPress and \ event.button() == Qt.LeftButton: index = view.indexAt(event.pos()) if index is not None: self._pos = event.pos() self._index = QPersistentModelIndex(index) elif event.type() == QEvent.MouseMove and self._pos is not None and \ ((self._pos - event.pos()).manhattanLength() >= QApplication.startDragDistance()): if self._index.isValid(): # Map to a QModelIndex in the model. index = self._index index = index.model().index(index.row(), index.column(), index.parent()) self._pos = None self._index = None self.dragStarted.emit(index) return QObject.eventFilter(self, view, event)
def eventFilter(self, obj, event): if event.type() == QEvent.MouseButtonPress: self.buttonDownPos = event.pos() self.buttonDownObj = obj self.button = event.button() elif event.type() == QEvent.MouseMove and obj is self.buttonDownObj: if ( self.buttonDownPos - event.pos() ).manhattanLength() > QApplication.startDragDistance() and not self.buttonDownObj.hitButton( event.pos() ): # Process the widget's mouse event, before starting the # drag operation, so the widget can update its state. obj.mouseMoveEvent(event) self.dragStartOperationRequested.emit(obj) obj.setDown(False) self.button = None self.buttonDownPos = None self.buttonDownObj = None return True # Already handled return QObject.eventFilter(self, obj, event)
def eventFilter(self, obj, event): if obj is self.parent(): if event.type() == QEvent.GraphicsSceneMousePress: return self.mousePressEvent(event) elif event.type() == QEvent.GraphicsSceneMouseMove: return self.mouseMoveEvent(event) elif event.type() == QEvent.GraphicsSceneMouseRelease: return self.mouseReleaseEvent(event) return QObject.eventFilter(self, obj, event)
def eventFilter(self, receiver, event): if event.type() == QEvent.Close and receiver is self.__scheme: self.signal_manager().stop() # Notify the widget instances. for widget in list(self.__widget_for_node.values()): widget.close() widget.saveSettings() widget.onDeleteWidget() widget.deleteLater() return QObject.eventFilter(self, receiver, event)
def eventFilter(self, obj, event): if (event.type() == QEvent.StatusTip and not isinstance(event, QuickHelpTipEvent) and hasattr(obj, "whatsThis") and isinstance(obj.whatsThis, Callable)): tip = event.tip() try: text = obj.whatsThis() except Exception: text = None if text: ev = QuickHelpTipEvent(tip, text if tip else "") return QCoreApplication.sendEvent(obj, ev) return QObject.eventFilter(self, obj, event)
def eventFilter(self, obj, event): etype = event.type() if etype == QEvent.KeyPress: key = event.key() if key == Qt.Key_Down: self.moveCurrent(1, 0) return True elif key == Qt.Key_Up: self.moveCurrent(-1, 0) return True elif key == Qt.Key_Tab: self.moveCurrent(0, 1) return True elif key == Qt.Key_Enter or key == Qt.Key_Return: self.activateCurrent() return True return QObject.eventFilter(self, obj, event)
def eventFilter(self, obj, event): if event.type() == QEvent.Resize and obj is self.__widget and \ self.__animation.state() == QPropertyAnimation.Stopped: # Update the expanded state when the user opens/closes the widget # by dragging the splitter handle. if self.__splitter.orientation() == Qt.Vertical: size = event.size().height() else: size = event.size().width() if self.__expanded and size == 0: self.__action.setChecked(False) self.__expanded = False elif not self.__expanded and size > 0: self.__action.setChecked(True) self.__expanded = True if event.type() == QEvent.Show and obj is self.__splitter and \ self.__updateOnShow: # Update the splitter state after receiving valid geometry self.__updateOnShow = False self.__update() return QObject.eventFilter(self, obj, event)
def eventFilter(self, receiver, event): if event.type() == QEvent.ToolTip: return True return QObject.eventFilter(self, receiver, event)