我有一個QGraphicsItem,用戶可以拖動。我想保留的項目在我的場景的右上象限,所以我推翻mouseMoveEvent這樣的:Preeventing QGraphicsItem的itemChanged
def mouseMoveEvent(self, event):
if self.x() < 0:
self.setPos(0, self.y())
if self.y() + self.rect().height() > 0:
self.setPos(self.x(), -self.rect().height())
工程就像一個魅力,到目前爲止,一切順利。
現在我使用itemChanged來啓動項目移動時的計算。儘管當我的物品到達我定義的邊界時,我的物品仍保持靜止,但當鼠標處於「禁區」時,itemChanged也會被調用,這是可以理解的。 我想根據上述檢查來阻止這種行爲。由於QGraphicsItem不是QObject,所以blockSignals在這裏不起作用。任何想法如何我可以實現這一目標?
您處理的意見不使用任何mouseMoveEvent +1 – SteakOverflow