QDragMoveEvent 类

QDragMoveEvent 类提供发送的事件,在拖放动作进行期间。 更多...

头: #include <QDragMoveEvent>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
继承: QDropEvent
继承者: QDragEnterEvent

公共函数

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 ()

详细描述

widget 将重复接收拖拽移动事件,当在其边界内拖拽时,若它接受 掉落事件 and 进入事件 。Widget 应审查事件,以查看何种 data 它提供了,并调用 accept () 函数以接受掉落,若合适。

矩形供给通过 answerRect () 函数可以用于将掉落,限定到 Widget 的某些部分。例如,可以校验矩形是否与某个子级 Widget 的几何体相交,然后仅调用 acceptProposedAction () if that is the case.

注意,此类继承了大部分功能从 QDropEvent .

另请参阅 QDragEnterEvent , QDragLeaveEvent ,和 QDropEvent .

成员函数文档编制

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

创建 QDragMoveEvent 按要求 type 指示鼠标是在位置 pos 给定于 Widget。

鼠标和键盘的状态的指定是通过 buttons and modifiers ,和 actions describe the types of drag and drop operation that are possible. The drag data is passed as MIME-encoded information in data .

警告: 自己不要试图创建 QDragMoveEvent。这些对象依赖于 Qt 的内部状态。

void QDragMoveEvent:: accept (const QRect & rectangle )

如同 accept(),但还会通知未来移动也是可接受的, 若它们留在 rectangle 给定由 widget。这可以改进性能,但还可能被底层系统所忽略。

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 ()

这是重载函数。

调用 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 )

相反于 accept(const QRect &) 函数。移动在 rectangle 不可接受,且会被忽略。

void QDragMoveEvent:: ignore ()

这是重载函数。

调用 QDropEvent::ignore ().