我正在尝试创建一个棋盘。所有硬币都是透明的,而电路板则不是。当我尝试使用函数'itemAt'获取被点击的项目时,它总是返回backGround项目(这意味着板)。我怀疑由于硬币是透明的,所以它们没有被选中。
答案 0 :(得分:2)
我得到了答案。我试图获得event->pos()
。这将返回QGraphicsItem
坐标中的鼠标单击。所以我应该使用event->scenePos()
。
现在我正确得到它。
答案 1 :(得分:1)
如果您使用自己的自定义QGraphicsItem
,则可能需要覆盖shape()
,
如果它是普通的QGraphicsPixmapItem
并且它有一个alpha蒙版,那么你需要调用setShapeMode()
。