diff --git a/pyqtgraph/dockarea/Dock.py b/pyqtgraph/dockarea/Dock.py index f1dd64f3..a4997b8c 100644 --- a/pyqtgraph/dockarea/Dock.py +++ b/pyqtgraph/dockarea/Dock.py @@ -5,6 +5,7 @@ from .DockDrop import * from ..widgets.VerticalLabel import VerticalLabel from ..python2_3 import asUnicode + class Dock(QtGui.QWidget, DockDrop): sigStretchChanged = QtCore.Signal() @@ -328,13 +329,13 @@ class DockLabel(VerticalLabel): self.updateStyle() def mousePressEvent(self, ev): - self.pressPos = ev.pos() + self.pressPos = ev.localPos() self.mouseMoved = False ev.accept() def mouseMoveEvent(self, ev): if not self.mouseMoved: - self.mouseMoved = (ev.pos() - self.pressPos).manhattanLength() > QtGui.QApplication.startDragDistance() + self.mouseMoved = (ev.localPos() - self.pressPos).manhattanLength() > QtGui.QApplication.startDragDistance() if self.mouseMoved and ev.buttons() == QtCore.Qt.LeftButton: self.dock.startDrag() diff --git a/pyqtgraph/dockarea/DockDrop.py b/pyqtgraph/dockarea/DockDrop.py index bd364f50..e16f3e7a 100644 --- a/pyqtgraph/dockarea/DockDrop.py +++ b/pyqtgraph/dockarea/DockDrop.py @@ -30,9 +30,9 @@ class DockDrop(object): def dragMoveEvent(self, ev): #print "drag move" - ld = ev.pos().x() + ld = ev.posF().x() rd = self.width() - ld - td = ev.pos().y() + td = ev.posF().y() bd = self.height() - td mn = min(ld, rd, td, bd) diff --git a/pyqtgraph/opengl/GLViewWidget.py b/pyqtgraph/opengl/GLViewWidget.py index 2c9bff01..1426a424 100644 --- a/pyqtgraph/opengl/GLViewWidget.py +++ b/pyqtgraph/opengl/GLViewWidget.py @@ -401,11 +401,12 @@ class GLViewWidget(QtWidgets.QOpenGLWidget): return xDist / self.width() def mousePressEvent(self, ev): - self.mousePos = ev.pos() + self.mousePos = ev.localPos() def mouseMoveEvent(self, ev): - diff = ev.pos() - self.mousePos - self.mousePos = ev.pos() + lpos = ev.localPos() + diff = lpos - self.mousePos + self.mousePos = lpos if ev.buttons() == QtCore.Qt.LeftButton: if (ev.modifiers() & QtCore.Qt.ControlModifier): diff --git a/pyqtgraph/widgets/GraphicsView.py b/pyqtgraph/widgets/GraphicsView.py index 78b06ae6..4490d4de 100644 --- a/pyqtgraph/widgets/GraphicsView.py +++ b/pyqtgraph/widgets/GraphicsView.py @@ -25,6 +25,7 @@ from .. import getConfigOption __all__ = ['GraphicsView'] + class GraphicsView(QtGui.QGraphicsView): """Re-implementation of QGraphicsView that removes scrollbars and allows unambiguous control of the viewed coordinate range. Also automatically creates a GraphicsScene and a central QGraphicsWidget @@ -356,8 +357,9 @@ class GraphicsView(QtGui.QGraphicsView): if not self.mouseEnabled: return - self.lastMousePos = Point(ev.pos()) - self.mousePressPos = ev.pos() + lpos = ev.localPos() + self.lastMousePos = lpos + self.mousePressPos = lpos self.clickAccepted = ev.isAccepted() if not self.clickAccepted: self.scene().clearSelection() @@ -372,15 +374,16 @@ class GraphicsView(QtGui.QGraphicsView): return ## Everything below disabled for now.. def mouseMoveEvent(self, ev): + lpos = ev.localPos() if self.lastMousePos is None: - self.lastMousePos = Point(ev.pos()) - delta = Point(ev.pos() - self.lastMousePos.toQPoint()) - self.lastMousePos = Point(ev.pos()) + self.lastMousePos = lpos + delta = Point(lpos - self.lastMousePos) + self.lastMousePos = lpos super().mouseMoveEvent(ev) if not self.mouseEnabled: return - self.sigSceneMouseMoved.emit(self.mapToScene(ev.pos())) + self.sigSceneMouseMoved.emit(self.mapToScene(lpos)) if self.clickAccepted: ## Ignore event if an item in the scene has already claimed it. return diff --git a/pyqtgraph/widgets/JoystickButton.py b/pyqtgraph/widgets/JoystickButton.py index 709797b5..b668d82d 100644 --- a/pyqtgraph/widgets/JoystickButton.py +++ b/pyqtgraph/widgets/JoystickButton.py @@ -18,11 +18,11 @@ class JoystickButton(QtGui.QPushButton): def mousePressEvent(self, ev): self.setChecked(True) - self.pressPos = ev.pos() + self.pressPos = ev.localPos() ev.accept() def mouseMoveEvent(self, ev): - dif = ev.pos()-self.pressPos + dif = ev.localPos()-self.pressPos self.setState(dif.x(), -dif.y()) def mouseReleaseEvent(self, ev):