你好,感謝您的閱讀。我在QGraphicsView中拖動鼠標時無法正確量化多個QGraphicsItems的位置。我設置的系統是正確量化一個QGraphicsItem,如果一次只拖動一個,但是如果我有多個選擇並拖動它們,只有主要項目(直接在鼠標下面)量化,其餘的位置設置爲連續。我非常感謝任何幫助。相關代碼如下:如何在QGraphicsView中拖動鼠標的同時量化多個QGraphicsItems的位置?
這是一個名爲MutaEvent的類,它繼承自QGraphicsRectItem。我已經重新定義了mouseMoveEvent()和setPos()函數:
void MutaEvent::mouseMoveEvent(QGraphicsSceneMouseEvent * event)
{
QGraphicsRectItem::mouseMoveEvent(event);
setPos(pos());
}
void MutaEvent::setPos(const QPointF &pos)
{
QGraphicsRectItem::setPos(Muta::quantizePointD(pos,30,15));
emit posChanged(objectID,pos);
}
下一位是在一個命名空間的靜態函數調用木塔:
static QPointF quantizePoint(QPointF point,double xQuant, double yQuant)
{
double x = quantize(point.x(),xQuant);
double y = quantize(point.y(),yQuant);
QPointF quantPoint(x,y);
return quantPoint;
}
任何幫助,將不勝感激!