Beispiel #1
0
 def mouseDoubleClickEvent(
         self, event: QtWidgets.QGraphicsSceneMouseEvent) -> None:
     """Intercept events and pass to overlay."""
     view_pos = event.widget().mapFromGlobal(event.screenPos())
     for item in self.overlayitems:
         if item.contains(view_pos, event.widget().rect()):
             item.item.mouseDoubleClickEvent(event)
    def mousePressEvent(self, event: QGraphicsSceneMouseEvent):

        movingItem = self.itemAt(event.scenePos(), self.view.transform())
        if movingItem is None and event.button() is Qt.MouseButton.RightButton:
            self.popMenu.exec_(event.screenPos())
        if movingItem is not None and event.button(
        ) is Qt.MouseButton.LeftButton:
            self.oldPos = movingItem.pos()
        self.clearSelection()
        super(Scene, self).mousePressEvent(event)
Beispiel #3
0
 def mousePressEvent(self, event: QGraphicsSceneMouseEvent):
     if self.isEnabled():
         self.setZValue(1)
         if event.button() is Qt.MouseButton.LeftButton:
             pass
             # self.posmouseinItem = event.scenePos() - self.pos()
             # items = self.scene().selectedItems()
             # if self not in items:
             #     self.scene().clearSelection()
             # if self.DialogVar is not None:
             #     self.DialogVar.close()
         if event.button() is Qt.MouseButton.RightButton:
             self.popMenu.exec_(event.screenPos())
Beispiel #4
0
    def mouseMoveEvent(self, event: QGraphicsSceneMouseEvent):
        if (QLineF(event.screenPos(), event.buttonDownScreenPos(
                Qt.LeftButton)).length() < QApplication.startDragDistance()):
            return

        self.parentItem().edgeDragStart()

        package = QMimeData()
        package.setData(self.DragMimeType, bytes())

        drag = QDrag(event.widget())
        drag.setMimeData(package)
        drag.exec_()

        self.parentItem().edgeDragStop()