2008-08-25 13 views
5

私はwxPythonでドラッグアンドドロップするとちょっと困惑します(しかし、おそらくこの質問は他のGUIフレームワークでもドラッグ&ドロップに関係します)。フレームワークは、現在のマウスの位置がドラッグされているものを削除する有効な場所であるかどうかをシステムに知らせることを可能にするコールバック(OnEnterとOnDragOver)をいくつか提供します。これらのメソッドから、私はwx.DragNone、wx.DragCopyなどを返すことができます。これらのメソッドの中から私はGetDataを呼び出すことはできません。つまり、ユーザーがドラッグしているデータを調べることはできません。データが表示されない場合は、ユーザーがここに落ちても問題ないかどうかを知るはずです。wxpython:OnDragOverでドラッグされたデータを調べるにはどうすればよいですか?

答えて

1

ドラッグが開始されたときに、ドラッグされたデータをどこかにグローバルまたは静的な参照に格納することが、1つの解決策です。このように、OnEnterハンドラとOnDragOverハンドラでは、ドラッグされているデータへの参照を取得することができます。これはもちろん、同じアプリケーション(実際にはアプリケーションの同じインスタンス)内のドラッグにのみ有効です。

1

OnEnterOnDragOverの方法でドラッグされたデータを表示する方法はありません。

私が見つけた唯一の解決策は、ドラッグされた項目をいくつかのインスタンス変数に格納し、これらのメソッド内で読み込み可能にすることです。

+0

これを少し拡張できますか?私は楽しいプロジェクトのためにWxを使う予定でした。 x/yリターンでドラッグすることは、私が期待していたことでした。 –

+0

ああ、データがどこにドロップされているかを見ることができます。ドラッグ中に何が表示されているのかわかりません(ユーザがマウスボタンを離す前に)。ドラッグされたコンテンツ)。 – DzinX

関連する問題