tkinter.dnd —ドラッグアンドドロップのサポート—Pythonドキュメント

提供:Dev Guides
< PythonPython/docs/3.9/library/tkinter.dnd
移動先:案内検索

tkinter.dnd —ドラッグアンドドロップのサポート

ソースコード: :source: `Lib / tkinter / dnd.py`



ノート

これは実験的なものであり、TkDNDに置き換えられると非推奨になる予定です。


tkinter.dnd モジュールは、単一のアプリケーション内、同じウィンドウ内、またはウィンドウ間のオブジェクトのドラッグアンドドロップサポートを提供します。 オブジェクトをドラッグできるようにするには、ドラッグアンドドロッププロセスを開始するオブジェクトのイベントバインディングを作成する必要があります。 通常、ButtonPressイベントを、作成したコールバック関数にバインドします(バインディングとイベントを参照)。 関数は dnd_start()を呼び出す必要があります。ここで、「source」はドラッグするオブジェクトであり、「event」は呼び出しを呼び出したイベント(コールバック関数の引数)です。

ターゲットオブジェクトの選択は次のように行われます。

  1. ターゲットウィジェットのマウスの下の領域のトップダウン検索
  • ターゲットウィジェットには、呼び出し可能な dnd_accept 属性が必要です
  • dnd_accept が存在しないか、Noneを返す場合、検索は親ウィジェットに移動します
  • ターゲットウィジェットが見つからない場合、ターゲットオブジェクトはNoneです。


  1. に呼び出します .dnd_leave(ソース、イベント)

  2. に呼び出します .dnd_enter(ソース、イベント)

  3. に呼び出します .dnd_commit(ソース、イベント) ドロップを通知する

  4. に呼び出します .dnd_end(ターゲット、イベント) ドラッグアンドドロップの終了を通知します

class tkinter.dnd.DndHandler(source, event)

DndHandler クラスは、イベントウィジェットのルートでMotionイベントとButtonReleaseイベントを追跡するドラッグアンドドロップイベントを処理します。

cancel(event=None)

ドラッグアンドドロッププロセスをキャンセルします。

finish(event, commit=0)

ドラッグアンドドロップ機能の終了を実行します。

on_motion(event)

ドラッグの実行中に、マウスの下の領域でターゲットオブジェクトを検査します。

on_release(event)

リリースパターンがトリガーされたときにドラッグの終了を通知します。

tkinter.dnd.dnd_start(source, event)
ドラッグアンドドロッププロセスのファクトリ関数。

も参照してください

バインディングとイベント