Qt QGraphicsProxyWidget永远不会收到dragEnterEvent

时间:2012-01-22 20:37:37

标签: c++ qt events

我正在尝试使用addWidget在添加到QGraphicScene的小部件之间进行拖放。

我按照Qt文档的建议实施拖放操作:

  • 使用setAcceptDrops(true)为目标小部件启用drop
  • 在我的mousePressEvent中,我正在为此对象创建QDrag对象运行QDrag :: exec()。

但是对于addWidget返回的proxywidget,也从不调用dragEnterEvent,也不调用我的自定义小部件。

其他事件会转发到我的小部件确定。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

据我所知,您必须在子窗口小部件中重新实现dragEnterEvent,这意味着仅为窗口小部件调用setAcceptDrops(true)是不够的。然后会发生的事情是子窗口小部件调用它的dragEventEnter - 函数,但默认情况下它什么都不做。如何在子窗口中了解您的dragEventEnter - 函数?它必须位于子窗口小部件中,因此您必须对其进行子类化,就像在documentation中解释的那样。