2012-01-22 4 views
0

addWidgetを使用してQGraphicSceneに追加されたウィジェット間でドラッグ&ドロップを実行しようとしています。私はQtのドキュメントとしてドラッグアンドドロップを実装するQt QGraphicsProxyWidgetはdragEnterEventを受け取ることはありません

示唆:

  • このため、私はQDragオブジェクト実行QDrag :: Execの作成しています私のmousePressEventでターゲットウィジェット
  • ためsetAcceptDrops(真)()で滴を有効にしますオブジェクト。

しかし、私のカスタムウィジェットでもdragEnterEventは呼び出されません。また、addWidgetから返されたproxywidgetもどちらも呼び出されません。

他のイベントは私のウィジェットに転送されます。

提案がありますか?

答えて

0

あなたの子ウィジェットでdragEnterEventを再実装する必要があることがわかっている限り、ウィジェットのsetAcceptDrops(true)を呼び出すだけでは不十分です。その場合、子ウィジェットはdragEventEnter -functionと呼ばれますが、デフォルトでは何もしません。子ウィジェットはメインウィンドウのdragEventEnter関数について知っていますか?子ウィジェット自体にある必要がありますので、サブクラス化する必要があります(documentationの説明を参照)。

+1

これはまさに私がやることであり、QGraphicSceneの外で動作します。 – Vasaka

関連する問題