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 COMPONENTS Gui REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake: | QT += gui |
Inherits: | QDropEvent |
Inherited By: |
Public Functions
QDragMoveEvent(const QPoint &pos, Qt::DropActions actions, const QMimeData *data, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, QEvent::Type type = DragMove) | |
virtual | ~QDragMoveEvent() |
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.
[virtual]
QDragMoveEvent::~QDragMoveEvent()
Destroys the event.
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().