このページでは

QDropEvent Class

QDropEvent クラスは、ドラッグ&ドロップ操作が完了した際に送信されるイベントを提供します。詳細...

ヘッダー: #include <QDropEvent>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
継承元: QEvent
継承元:

QDragMoveEvent

パブリック関数

QDropEvent(const QPointF &pos, Qt::DropActions actions, const QMimeData *data, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, QEvent::Type type = Drop)
void acceptProposedAction()
(since 6.0) Qt::MouseButtons buttons() const
Qt::DropAction dropAction() const
const QMimeData *mimeData() const
(since 6.0) Qt::KeyboardModifiers modifiers() const
(since 6.0) QPointF position() const
Qt::DropActions possibleActions() const
Qt::DropAction proposedAction() const
void setDropAction(Qt::DropAction action)
QObject *source() const

プロテクトされた関数

QDropEvent(QDropEvent &&)
QDropEvent &operator=(QDropEvent &&)
QDropEvent &operator=(const QDropEvent &other)

詳細な説明

ウィジェットがaccepts drop events されたとき、そのウィジェットに送信された最新のQDragEnterEvent またはQDragMoveEvent を受け入れている場合、このイベントを受け取ります。

ドロップイベントには、ウィジェットが受け入れるか無視するかを決定するための、proposedAction() から取得可能な提案されたアクションが含まれています。 そのアクションをウィジェットで処理できる場合は、acceptProposedAction() 関数を呼び出す必要があります。提案されたアクションはQt::DropAction の値の組み合わせである可能性があるため、これらの値のいずれかをデフォルトのアクションとして選択するか、ユーザーに希望するアクションを選択してもらうと便利です。

提案されたドロップ操作が適切でない場合(たとえば、カスタムウィジェットがその操作をサポートしていないなど)、setDropAction() を呼び出して希望する操作を指定することで、possible drop actions のいずれかに置き換えることができます。possibleActions() が返す値のビット単位の OR 結合に含まれていない値を設定した場合、デフォルトのコピー操作が使用されます。代替のドロップ操作が設定されたら、ドロップ操作を完了するために、acceptProposedAction() の代わりにaccept() を呼び出してください。

mimeData() 関数は、ウィジェットにドロップされたデータをQMimeData オブジェクトとして提供します。これには、データ自体に加えて、データの MIME タイプに関する情報が含まれています。

「 QMimeData 」、「QDrag 」、および「ドラッグ&ドロップ」も参照してください 。

メンバ関数のドキュメント

QDropEvent::QDropEvent(const QPointF &pos, Qt::DropActions actions, const QMimeData *data, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, QEvent::Type type = Drop)

宛先ウィジェットの座標系において、pos で指定された位置へのドロップに対応する、特定のtype のドロップイベントを生成します。

actions は、実行可能なドラッグ&ドロップ操作の種類を示しており、ドラッグデータはdata に MIME エンコードされたデータとして格納されます。

ドロップ時のマウスボタンおよびキーボード修飾キーの状態は、buttons およびmodifiers によって指定されます。

[protected delete] QDropEvent::QDropEvent(QDropEvent &&)

QDropEvent のインスタンスをムーブコンストラクトで生成します。この関数は削除されています。

void QDropEvent::acceptProposedAction()

ドロップ時のアクションを、提案されたアクションに設定します。

setDropAction()、proposedAction()、およびaccept()も参照してください 。

[since 6.0] Qt::MouseButtons QDropEvent::buttons() const

押されているマウスボタンを返します。

この関数は Qt 6.0 で導入されました。

Qt::DropAction QDropEvent::dropAction() const

ターゲットがデータに対して実行するアクションを返します。setDropAction() を呼び出してドロップアクションを明示的に指定している場合、これはproposedAction() で指定されたアクションとは異なる場合があります。

setDropAction()も参照してください 。

const QMimeData *QDropEvent::mimeData() const

ウィジェットにドロップされたデータと、それに関連付けられたMIMEタイプ情報を返します。

[since 6.0] Qt::KeyboardModifiers QDropEvent::modifiers() const

押されている修飾キーを返します。

この関数は Qt 6.0 で導入されました。

[since 6.0] QPointF QDropEvent::position() const

ドロップが行われた位置を返します。

この関数は Qt 6.0 で導入されました。

Qt::DropActions QDropEvent::possibleActions() const

実行可能なドロップ操作の「OR」結合を返します。

dropAction()も参照してください 。

Qt::DropAction QDropEvent::proposedAction() const

提案されたドロップ操作を返します。

dropAction()も参照してください 。

void QDropEvent::setDropAction(Qt::DropAction action)

ターゲットがデータに対して実行するaction を設定します。これを使用して、proposed action をpossible actions のいずれかに上書きします。

利用可能なアクション以外のドロップアクションを設定した場合、ドラッグ&ドロップ操作はデフォルトでコピー操作となります。

代替のドロップアクションを指定した後は、acceptProposedAction() の代わりにaccept() を呼び出してください。

dropAction()も参照してください 。

QObject *QDropEvent::source() const

ドラッグ操作の発生源がこのアプリケーション内のウィジェットである場合、この関数はその発生源を返します。そうでない場合は、nullptr を返します。操作の発生源は、ドラッグをインスタンス化する際に使用されるQDrag オブジェクトの最初のパラメータです。

これは、ウィジェットが自身へドラッグされた際に特別な動作を必要とする場合に役立ちます。

QDrag::QDrag()も参照してください 。

[protected delete] QDropEvent &QDropEvent::operator=(QDropEvent &&)

other をこのQDropEvent インスタンスに割り当てます。この関数は削除されました。

[noexcept protected default] QDropEvent &QDropEvent::operator=(const QDropEvent &other)

other をこのQDropEvent インスタンスにコピーして割り当てます。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.