我有一个名为CustomGPolygon的QGraphicsPolygonItem的自定义版本。

在customgpolygon.h中,我声明了函数void dragLeaveEvent(QGraphicsSceneDragDropEvent *event);
customgpolygon.cpp中的函数如下所示

void CustomGPolygon::dragLeaveEvent(QGraphicsSceneDragDropEvent *event)
{
    event->setAccepted(true);
    qDebug() << "hi";
}

在这些多边形的构造函数中,我将其称为setAcceptDrops(true);

我面临的问题是,移动多边形时,控制台中不显示“hi”。

任何帮助表示赞赏!

最佳答案

您必须在某个地方设置CustomGPolygon对象ItemIsMovable(doc)的标志:

void setFlag(QGraphicsItem::ItemIsMovable, true);

关于c++ - 自定义QGraphicsPolygonItem dragLeaveEvent不执行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/61163937/

10-10 02:26