6

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

4

2 に答える 2

1

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

于 2008-08-25T19:45:40.977 に答える
1

メソッドにドラッグされたデータを表示する方法はありませOnEnterOnDragOver

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

于 2008-09-26T12:15:24.237 に答える