2012-01-22 97 views
0

我試圖做的添加到QGraphicScene與小工具之間的拖放使用addWidget。Qt QGraphicsProxyWidget永遠不會收到dragEnterEvent

我執行拖放作爲Qt的文檔建議:

  • 與setAcceptDrops(真)爲對象的微件
  • 在我mousePressEvent我創造QDrag對象運行QDrag :: EXEC()此啓用滴目的。

但dragEnterEvent從不會被調用,也不會爲我的自定義小部件既不會爲addWidget返回的proxywidget調用。

其他事件轉發到我的小工具確定。

有什麼建議嗎?

回答

0

據我所知,您必須重新實現您的子窗口小部件中的dragEnterEvent,意味着僅僅爲窗口小部件調用setAcceptDrops(true)是不夠的。然後會發生的事情是,子部件稱它爲dragEventEnter功能,但默認情況下它什麼都不做。小孩子在主窗口中應該怎麼知道你的dragEventEnter-功能?它必須位於子部件本身中,因此您必須對其進行子類化,如解釋的documentation

+1

這正是我所做的,它在QGraphicScene之外工作。 – Vasaka