QGraphicsSceneDragDropEvent Class

The QGraphicsSceneDragDropEvent class provides events for drag and drop in the graphics view framework. More...

Header: #include <QGraphicsSceneDragDropEvent>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
Inherits: QGraphicsSceneEvent

Public Functions

virtual ~QGraphicsSceneDragDropEvent()
void acceptProposedAction()
Qt::MouseButtons buttons() const
Qt::DropAction dropAction() const
const QMimeData *mimeData() const
Qt::KeyboardModifiers modifiers() const
QPointF pos() const
Qt::DropActions possibleActions() const
Qt::DropAction proposedAction() const
QPointF scenePos() const
QPoint screenPos() const
void setDropAction(Qt::DropAction action)
QWidget *source() const

Detailed Description

QGraphicsView inherits the drag and drop functionality provided by QWidget. When it receives a drag and drop event, it translates it to a QGraphicsSceneDragDropEvent.

QGraphicsSceneDragDropEvent stores events of type GraphicsSceneDragEnter, GraphicsSceneDragLeave, GraphicsSceneDragMove, or GraphicsSceneDrop.

QGraphicsSceneDragDropEvent contains the position of the mouse cursor in both item, scene, and screen coordinates; this can be retrieved with pos(), scenePos(), and screenPos().

The scene sends the event to the first QGraphicsItem under the mouse cursor that accepts drops; a graphics item is set to accept drops with setAcceptDrops().

Member Function Documentation

[virtual noexcept] QGraphicsSceneDragDropEvent::~QGraphicsSceneDragDropEvent()

Destroys the object.

void QGraphicsSceneDragDropEvent::acceptProposedAction()

Sets the proposed action as accepted, i.e, the drop action is set to the proposed action. This is equal to:

setDropAction(proposedAction());

When using this function, one should not call accept().

See also dropAction(), setDropAction(), and proposedAction().

Qt::MouseButtons QGraphicsSceneDragDropEvent::buttons() const

Returns a Qt::MouseButtons value indicating which buttons were pressed on the mouse when this mouse event was generated.

See also Qt::MouseButtons.

Qt::DropAction QGraphicsSceneDragDropEvent::dropAction() const

Returns the action that was performed in this drag and drop. This should be set by the receiver of the drop and is returned by QDrag::exec().

See also setDropAction() and acceptProposedAction().

const QMimeData *QGraphicsSceneDragDropEvent::mimeData() const

This function returns the MIME data of the event.

Qt::KeyboardModifiers QGraphicsSceneDragDropEvent::modifiers() const

Returns the keyboard modifiers that were pressed when the drag and drop event was created.

See also Qt::KeyboardModifiers.

QPointF QGraphicsSceneDragDropEvent::pos() const

Returns the mouse position of the event relative to the view that sent the event.

See also QGraphicsView, screenPos(), and scenePos().

Qt::DropActions QGraphicsSceneDragDropEvent::possibleActions() const

Returns the possible drop actions that the drag and drop can result in.

See also Qt::DropActions.

Qt::DropAction QGraphicsSceneDragDropEvent::proposedAction() const

Returns the drop action that is proposed, i.e., preferred. The action must be one of the possible actions as defined by possibleActions().

See also Qt::DropAction and possibleActions().

QPointF QGraphicsSceneDragDropEvent::scenePos() const

Returns the position of the mouse in scene coordinates.

See also pos() and screenPos().

QPoint QGraphicsSceneDragDropEvent::screenPos() const

Returns the position of the mouse relative to the screen.

See also pos() and scenePos().

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

This function lets the receiver of the drop set the drop action that was performed to action, which should be one of the possible actions. Call accept() in stead of acceptProposedAction() if you use this function.

See also dropAction(), accept(), and possibleActions().

QWidget *QGraphicsSceneDragDropEvent::source() const

This function returns the QGraphicsView that created the QGraphicsSceneDragDropEvent.

© 2024 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.