def itemChange(self, change, value): #print('%s.itemChange' % (self.__class__.__name__), ' change: %d, value:' % change, value) valnew = QGraphicsRectItem.itemChange(self, change, value) if change == self.ItemSelectedHasChanged: #self.set_control_points_visible(visible=True) self.set_control_points_visible(visible=self.isSelected()) return valnew
def itemChange(self, change, value): if change == self.ItemPositionChange: if self.update is not None: self.update(value - self.pos()) return value return QGraphicsRectItem.itemChange(self, change, value)
def itemChange(self, change, value): if change == self.ItemPositionHasChanged: self.scene().emitLabelsChanged() return QVariant() if change == self.ItemScenePositionHasChanged: print("Scene position changed to {}".format(value)) return QVariant() return QGraphicsRectItem.itemChange(self, change, value)
def itemChange(self, change, value): if change == QGraphicsRectItem.ItemPositionChange: newPos = value # new position in scene coordinates rect = self.scene().sceneRect() topLeftRectCoords = self.rect().topLeft() bottomRightRectCoords = self.rect().bottomRight() ntl = topLeftRectCoords + newPos nbr = bottomRightRectCoords + newPos if not rect.contains(ntl) or not rect.contains(nbr): ntl.setX(min(rect.right() - self.rect().width(), max(ntl.x(), rect.left()))) ntl.setY(min(rect.bottom() - self.rect().height(), max(ntl.y(), rect.top()))) return ntl - topLeftRectCoords return QGraphicsRectItem.itemChange(self, change, value)
def itemChange(self, change, value): """ Enforce that the handle stays in the region of the scene """ if change == QGraphicsRectItem.ItemPositionChange: newPos = value # new position in rectangle coordinates nPosScene = self.parentItem().mapToScene(newPos) rect = self.parentItem().scene().sceneRect() if not rect.contains(nPosScene): nPosScene.setX(min(rect.right(), max(nPosScene.x(), rect.left()))) nPosScene.setY(min(rect.bottom(), max(nPosScene.y(), rect.top()))) return self.parentItem().mapFromScene(nPosScene) return QGraphicsRectItem.itemChange(self, change, value)
def itemChange(self, change,value): """ Enforce that the hadle stays in the region of the scene """ if change==QGraphicsRectItem.ItemPositionChange: newPos=value #new position in rectangle coordinates nPosScene=self.parentItem().mapToScene(newPos) rect=self.parentItem().scene().sceneRect() if not rect.contains(nPosScene): nPosScene.setX(min(rect.right(), max(nPosScene.x(),rect.left()))) nPosScene.setY(min(rect.bottom(), max(nPosScene.y(), rect.top()))) return self.parentItem().mapFromScene(nPosScene) return QGraphicsRectItem.itemChange(self, change,value)
def itemChange(self, change,value): if change==QGraphicsRectItem.ItemPositionChange: newPos=value #new position in scene coordinates rect=self.scene().sceneRect() topLeftRectCoords=self.rect().topLeft() bottomRightRectCoords=self.rect().bottomRight() ntl=topLeftRectCoords+newPos nbr=bottomRightRectCoords+newPos if not rect.contains(ntl) or not rect.contains(nbr): ntl.setX(min(rect.right()-self.rect().width(), max(ntl.x(),rect.left()))) ntl.setY(min(rect.bottom()-self.rect().height(), max(ntl.y(), rect.top()))); return ntl-topLeftRectCoords return QGraphicsRectItem.itemChange(self, change,value)
def itemChange(self, change, value): """ Overwrite itemChange function Do this to restrict movement of the ROI to always be on top of the image """ if (change == QGraphicsItem.ItemPositionChange and self.scene() and not self.resizeDirection.active()): # value is the new position. newPos = value rect = self.scene().sceneRect() allowed_position_rect = rect if not (allowed_position_rect.contains(self.boundingRect())): # Keep the item inside the scene rect. newPos.setX( min(rect.right() - self.boundingRect().right(), max(newPos.x(), rect.left()))) newPos.setY( min(rect.bottom() - self.boundingRect().bottom(), max(newPos.y(), rect.top()))) return newPos return QGraphicsRectItem.itemChange(self, change, value)
def itemChange(self, change, value): # Overrides the itemChange function of the RectItem in such a way that the edges are moved if the item itself is # moved if change == QGraphicsItem.ItemPositionChange: self.moveEdges(value) return QGraphicsRectItem.itemChange(self, change, value)
def itemChange(self, change, value): if change == QGraphicsRectItem.ItemPositionHasChanged: print("ChangeableItem", self.pos(), self.scenePos()) return QGraphicsRectItem.itemChange(self, change, value)
def itemChange(self, change, value): if change == QGraphicsItem.ItemPositionChange and self.scene(): command = CommandMoveItem(self, value) self.scene().undoStack.push(command) return QGraphicsRectItem.itemChange(self, change, value)
def itemChange(self, change, value): # type: (Any, QPointF) -> None if change == QGraphicsItem.ItemPositionChange: self.set_text_edge(value.x(), value.y()) return QGraphicsRectItem.itemChange(self, change, value)