QDragMoveEvent Class

The QDragMoveEvent class provides an event which is sent while a drag and drop action is in progress. More...

Header: #include <QDragMoveEvent>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
Inherits: QDropEvent
Inherited By:

QDragEnterEvent

Public Functions

QDragMoveEvent(const QPoint &pos, Qt::DropActions actions, const QMimeData *data, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, QEvent::Type type = DragMove)
void accept(const QRect &rectangle)
void accept()
QRect answerRect() const
void ignore(const QRect &rectangle)
void ignore()

Detailed Description

A widget will receive drag move events repeatedly while the drag is within its boundaries, if it accepts drop events and enter events. The widget should examine the event to see what kind of data it provides, and call the accept() function to accept the drop if appropriate.

The rectangle supplied by the answerRect() function can be used to restrict drops to certain parts of the widget. For example, we can check whether the rectangle intersects with the geometry of a certain child widget and only call acceptProposedAction() if that is the case.

Note that this class inherits most of its functionality from QDropEvent.

See also QDragEnterEvent, QDragLeaveEvent, and QDropEvent.

Member Function Documentation

QDragMoveEvent::QDragMoveEvent(const QPoint &pos, Qt::DropActions actions, const QMimeData *data, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, QEvent::Type type = DragMove)

Creates a QDragMoveEvent of the required type indicating that the mouse is at position pos given within a widget.

The mouse and keyboard states are specified by buttons and modifiers, and the actions describe the types of drag and drop operation that are possible. The drag data is passed as MIME-encoded information in data.

Warning: Do not attempt to create a QDragMoveEvent yourself. These objects rely on Qt's internal state.

void QDragMoveEvent::accept(const QRect &rectangle)

The same as accept(), but also notifies that future moves will also be acceptable if they remain within the rectangle given on the widget. This can improve performance, but may also be ignored by the underlying system.

If the rectangle is empty, drag move events will be sent continuously. This is useful if the source is scrolling in a timer event.

void QDragMoveEvent::accept()

This is an overloaded function.

Calls QDropEvent::accept().

QRect QDragMoveEvent::answerRect() const

Returns the rectangle in the widget where the drop will occur if accepted. You can use this information to restrict drops to certain places on the widget.

void QDragMoveEvent::ignore(const QRect &rectangle)

The opposite of the accept(const QRect&) function. Moves within the rectangle are not acceptable, and will be ignored.

void QDragMoveEvent::ignore()

This is an overloaded function.

Calls QDropEvent::ignore().