def mousePressEvent(self, mouseEvent): pos = mouseEvent.pos() if self.pointInScroller(pos, QtCore.Qt.Vertical) or self.pointInScroller( pos, QtCore.Qt.Horizontal): self.clickedInScrollBar = True else: if self.ignored.count(mouseEvent): self.ignored.remove(mouseEvent) return QWebEngineView.mousePressEvent(self, mouseEvent) if not self.pressed and not self.scrolling and mouseEvent.modifiers( ) == QtCore.Qt.NoModifier: if mouseEvent.buttons() == QtCore.Qt.LeftButton: self.pressed = True self.scrolling = False self.handIsClosed = False QApplication.setOverrideCursor(QtCore.Qt.OpenHandCursor) self.position = mouseEvent.pos() frame = self.page().mainFrame() xTuple = frame.evaluateJavaScript("window.scrollX").toInt() yTuple = frame.evaluateJavaScript("window.scrollY").toInt() self.offset = QPoint(xTuple[0], yTuple[0]) return return QWebEngineView.mousePressEvent(self, mouseEvent)
def mouseReleaseEvent(self, mouseEvent): if self.clickedInScrollBar: self.clickedInScrollBar = False else: if self.ignored.count(mouseEvent): self.ignored.remove(mouseEvent) return QWebEngineView.mousePressEvent(self, mouseEvent) if self.scrolling: self.pressed = False self.scrolling = False self.handIsClosed = False QApplication.restoreOverrideCursor() return if self.pressed: self.pressed = False self.scrolling = False self.handIsClosed = False QApplication.restoreOverrideCursor() event1 = QMouseEvent(QEvent.MouseButtonPress, self.position, QtCore.Qt.LeftButton, QtCore.Qt.LeftButton, QtCore.Qt.NoModifier) event2 = QMouseEvent(mouseEvent) self.ignored.append(event1) self.ignored.append(event2) QApplication.postEvent(self, event1) QApplication.postEvent(self, event2) return return QWebEngineView.mouseReleaseEvent(self, mouseEvent)
def mousePressEvent(self, event): result = QWebEngineView.mousePressEvent(self, event) if self.mousePressFunction is not None: self.mousePressFunction(event) return result