2

我正在使用 Qt Creator 创建电路原理图编辑器。我有一个 QGraphicsScene/QGraphicsView 画布,我想将电路组件的图像拖放到上面并移动它们。

我目前正在使用像素图 QGraphicsItem 并将其添加到画布并使其可移动。这在您直接单击符号的线条时效果很好,但是当单击图像中的透明区域时符号不会移动。

有没有办法扩展 hitbox/mouse 区域以使这些透明区域的响应与符号上其他区域的响应相同?下面是我如何添加图像。(我需要图像透明,以便其他符号在其后面/前面可见)

QGraphicsItem* b = canvas.addPixmap(QPixmap(":/images/ground2.gif"));
b->setFlag(QGraphicsItem::ItemIsMovable);
b->setPos(qrand()%int(canvas.width()),qrand()%int(canvas.height()));

非常感谢所有帮助!谢谢!乔什

4

1 回答 1

2

您可以调用QGraphicsPixmapItem::setShapeMode( QGraphicsPixmapItem::BoundingRectShape )以将项目处理为矩形。

于 2012-07-26T12:07:25.970 回答