self.drag_position=QtGui.QCursor.pos() # need init it first after creation def mouseMoveEvent(self, event): if (event.buttons() == QtCore.Qt.LeftButton): self.move(event.globalPos().x() - self.drag_position.x(), event.globalPos().y() - self.drag_position.y()) event.accept() def mousePressEvent(self, event): if (event.button() == QtCore.Qt.LeftButton): self.drag_position = event.globalPos() - self.pos() event.accept()