Qt 4.7.4 - 如何使QGraphicsItem中Pixmap的透明像素可点击(扩大点击区域)

3
我正在使用Qt Creator创建电路原理图编辑器。我有一个QGraphicsScene/QGraphicsView画布,想把电路元件的图片拖放到上面并移动它们。
目前我正在使用QPixmap QGraphicsItem将其添加到画布上并使其可移动。当您直接点击符号的线时,这很有效,但是当单击图像中的透明区域时,符号不会移动。
是否有一种方法可以扩展命中框/鼠标区域,使这些透明区域与符号的其他区域响应相同?下面是我添加图像的方式。(我需要图像是透明的,以便其他符号在其后面/前面可见)
QGraphicsItem* b = canvas.addPixmap(QPixmap(":/images/ground2.gif"));
b->setFlag(QGraphicsItem::ItemIsMovable);
b->setPos(qrand()%int(canvas.width()),qrand()%int(canvas.height()));

非常感谢您的帮助!谢谢! 乔什

1个回答

3
你可以调用QGraphicsPixmapItem::setShapeMode(QGraphicsPixmapItem::BoundingRectShape)将该项视为矩形。

太棒了!我一直想做类似的事情!感谢您的帮助! - Josh O'Hara

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接