def sceneMousePressEvent(self, event: QGraphicsSceneMouseEvent): if self.state == QLiberationMapState.MOVING_UNIT: if event.buttons() == Qt.RightButton: pass elif event.buttons() == Qt.LeftButton: if self.selected_cp is not None: # Set movement position for the cp pos = event.scenePos() point = Point(int(pos.x()), int(pos.y())) proj = self._scene_to_dcs_coords(point) if self.is_valid_ship_pos(point): self.selected_cp.control_point.target_position = proj else: self.selected_cp.control_point.target_position = None GameUpdateSignal.get_instance().updateGame( self.game_model.game) else: return self.state = QLiberationMapState.NORMAL try: self.scene().removeItem(self.movement_line) except: pass self.selected_cp = None
def mouseMoveEvent(self, event: QGraphicsSceneMouseEvent): if event.buttons() and Qt.LeftButton: item = self.collidingItem() if item is not None: self.setBezierEdges(item) super().mouseMoveEvent(event)
def mouseMoveEvent(self, event: QGraphicsSceneMouseEvent): if event.buttons() and Qt.LeftButton: self.__m_point = self.mapToParent(event.pos()) self.setPos(self.__m_point) self.scene().update() super().mouseMoveEvent(event)
def mouseMoveEvent(self, event: QGraphicsSceneMouseEvent): """Implementation. Handles mouse movement events in the editor. Dragging the mouse with a button pressed will place or remove all tiles passed over. """ editor = self._editor pos = event.scenePos() tilePos = editor.sceneToGrid(pos) item = editor.itemAt(pos, QTransform()) if tilePos != self.lastTilePos: self.lastTilePos = tilePos if editor.validGridPos(tilePos): if event.buttons() & Qt.LeftButton: return self.handleLeftButton(pos) elif event.buttons() & Qt.RightButton: return self.handleRightButton(pos)
def mouseMoveEvent(self, event: QtWidgets.QGraphicsSceneMouseEvent) -> None: if not event.buttons() & QtCore.Qt.LeftButton: return if self.poly.size() == 0: return pos = self.snapPos(event.pos()) if self.poly.last() != pos: self.poly.append(pos) self.prepareGeometryChange()
def mouseMoveEvent(self, event: QtWidgets.QGraphicsSceneMouseEvent): if event.buttons() & QtCore.Qt.LeftButton: pos = self.line.p2() if self.image.rect.left() < event.pos().x() < self.image.rect.right(): pos.setX(event.pos().x()) if self.image.rect.top() < event.pos().y() < self.image.rect.bottom(): pos.setY(event.pos().y()) self.line.setP2(pos) self.createSlicePoly() self.prepareGeometryChange() super().mouseMoveEvent(event)
def mousePressEvent(self, event: QtWidgets.QGraphicsSceneMouseEvent): if event.buttons() & QtCore.Qt.LeftButton: if ( self.image.rect.left() < event.pos().x() < self.image.rect.right() and self.image.rect.top() < event.pos().y() < self.image.rect.bottom() ): self.line.setPoints(event.pos(), event.pos()) self.sliced = None self.poly = QtGui.QPolygonF() self.prepareGeometryChange() super().mousePressEvent(event)
def mouseMoveEvent(self, event: QGraphicsSceneMouseEvent): if not self.focusItem(): self.nodeList.clear() if event.buttons() and Qt.LeftButton: mousePos = QPointF( event.buttonDownScenePos(Qt.LeftButton).x(), event.buttonDownScenePos(Qt.LeftButton).y()) itemList = list(self.items(mousePos)) if len(itemList) > 0: self.m_Item = itemList[0] self.itemLock.emit(self.m_Item) if len(self.nodeList) > 0: self.itemNode.emit(self.nodeList) if not self.another: if len(self.nodeList) > 1: self.nodeList = self.nodeList[1:] self.isHasItem.emit(len(self.items())) if len(self.nodeList) > 2: self.nodeList.clear() super(GraphicsScene, self).mouseMoveEvent(event)
def mouseMoveEvent(self, event: QGraphicsSceneMouseEvent): if event.buttons() and Qt.LeftButton: item = self.parentItem() dx = event.scenePos().x() - event.lastScenePos().x() dy = event.scenePos().y() - event.lastScenePos().y() if item.sourceNode or item.destNode: item.adjust() item.centerCp.setPoint(item.updateCenterPos()) item.textCp.setPos(item.textPos) item.weightCp.setPos(item.weightPos) self.scene().update() if self.__m_type == PointType.Center: item.moveBy(dx, dy) self.scene().update() elif self.__m_type == PointType.Edge: self.__m_point = self.mapToParent(event.pos()) #self.setPos(self.__m_point) item.setEdgeControlPoint(self.__m_point, self.__m_item_type) self.scene().update() elif self.__m_type == PointType.Special: self.__m_point = self.mapToParent(event.pos()) #self.setPos(self.__m_point) item.setSpecialControlPoint(self.__m_point, self.__m_item_type) if self.collidingItem(item): if self.itemType() == ItemType.DestType: item.setDestNode(self.collidingItem(item)) if self.itemType() == ItemType.SourceType: item.setSourceNode(self.collidingItem(item)) self.collidingItem(item).addBezierEdge( item, self.itemType()) self.scene().update() elif self.__m_type == PointType.Text: self.__m_point = self.mapToParent(event.pos()) self.setPos(self.__m_point) self.scene().update()
def mouseMoveEvent(self, event: QtWidgets.QGraphicsSceneMouseEvent): if event.buttons() & QtCore.Qt.LeftButton: self.line.setP2(event.pos()) self.text = f"{self.line.length():.4g} {self.unit}" self.prepareGeometryChange() super().mouseMoveEvent(event)
def mousePressEvent(self, event: QtWidgets.QGraphicsSceneMouseEvent): if event.buttons() & QtCore.Qt.LeftButton: self.line.setPoints(event.pos(), event.pos()) self.text = "" self.prepareGeometryChange() super().mousePressEvent(event)
def mouseMoveEvent(self, event: QtWidgets.QGraphicsSceneMouseEvent) -> None: if not event.buttons() & QtCore.Qt.LeftButton: return self._rect.setBottomRight(event.pos()) self.prepareGeometryChange()
def mouseMoveEvent(self, event: QGraphicsSceneMouseEvent): if event.buttons() and Qt.LeftButton: if self.__dest or self.__source: self.adjust() super().mouseMoveEvent(event)