def _send_hover_event(self, event): if self._hover_widget is None: return False pos = self._hover_widget.pos() pos1 = QtCore.QPoint(-1, -1) if event.type() == QtCore.QEvent.Enter: hovevent = QtGui.QHoverEvent(QtGui.QHoverEvent.HoverLeave, pos, pos1) else: hovevent = QtGui.QHoverEvent(QtGui.QHoverEvent.HoverLeave, pos1, pos) QtWidgets.QApplication.sendEvent(self._hover_widget, hovevent) QtWidgets.QApplication.sendEvent(self._hover_widget, event) return True
def leaveEvent(self, event: QtCore.QEvent) -> None: self.check_allow_leave = True hover_event = QtGui.QHoverEvent(QtGui.QHoverEvent.HoverLeave, QtCore.QPoint(-1, -1), QtCore.QPoint(0, 0)) QtWidgets.QApplication.sendEvent(self.check, event) QtWidgets.QApplication.sendEvent(self.check, hover_event) return super().leaveEvent(event)
def send_hover(self, event=None): if event is None: pos = QtCore.QPoint(0, 0) event = QtGui.QEnterEvent(pos, pos, pos) QtWidgets.QApplication.sendEvent(self.check, event) hover_event = QtGui.QHoverEvent(QtGui.QHoverEvent.HoverEnter, QtCore.QPoint(0, 0), QtCore.QPoint(-1, -1)) QtWidgets.QApplication.sendEvent(self.check, hover_event)