QDropEvent类

QDropEvent类提供了一个事件,该事件在拖放操作完成后被发送。更多...

头文件 #include <QDropEvent>
CMakefind_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmakeQT += gui
继承 QEvent
继承自

QDragMoveEvent

公开函数

QDropEvent(const QPointF &pos, Qt::DropActions actions, const QMimeData *data, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, QEvent::Type type = Drop)
voidacceptProposedAction()
(since 6.0) Qt::MouseButtonsbuttons() const
Qt::DropActiondropAction() const
const QMimeData *mimeData() const
(since 6.0) Qt::KeyboardModifiersmodifiers() const
(since 6.0) QPointFposition() const
Qt::DropActionspossibleActions() const
Qt::DropActionproposedAction() const
voidsetDropAction(Qt::DropAction action)
QObject *source() const

详细描述

当一个小部件接受拖放事件时,如果它已接受发送给它的最近的一个QDragEnterEventQDragMoveEvent,则它将接收到此事件。

拖放事件包含一个供小部件接受或忽略的建议操作,可以从proposedAction()获取。如果操作可以被小部件处理,应调用acceptProposedAction()函数。由于建议操作可以是Qt::DropAction值的组合,因此可以选择这些值之一作为默认操作,或者要求用户选择他们偏好的操作。

如果建议的放置操作不适合,可能是因为您的自定义小部件不支持该操作,您可以通过调用setDropAction()使用您首选的操作来将其替换为任何可能的放置操作。如果您设置了一个在possibleActions()返回的值的位或组合中不存在的值,则将使用默认的复制操作。一旦设置了替换的放置操作,则应调用accept()而不是acceptProposedAction()来完成放置操作。

mimeData()函数通过QMimeData对象提供小部件上放置的数据。这包含有关数据MIME类型的信息以及数据本身。

另请参阅QMimeDataQDrag拖放

成员函数文档

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

构建一个特定于类型的放置事件,该类型对应于在目标小部件坐标系中由pos指定的点。

actions指示可以执行哪些类型的拖曳和放置操作,并且拖曳数据存储在data中的MIME编码数据中。

放置时鼠标按钮和键盘修饰符的状态由buttonsmodifiers指定。

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开始引入。

[自6.0版本开始] QPointF QDropEvent::position() const

返回放置的位置。

此函数从Qt 6.0开始引入。

Qt::DropActions QDropEvent::possibleActions() const

返回可能的放置动作的按位或组合。

另请参阅dropAction

Qt::DropAction QDropEvent::proposedAction() const

返回建议的放置动作。

另请参阅dropAction

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

action设置为目标要执行数据的行为。使用此方法可以通过< Marketplace req translate="no">possibleActions中的一种来覆盖建议的操作

如果您设置了一个不属于可能动作的放置动作,拖放操作将默认为复制操作。

一旦您为替换放置动作提供了替代方案,请调用accept()而不是acceptProposedAction()。

另请参阅dropAction

QObject *QDropEvent::source() const

如果拖动操作的源是此应用程序中的小部件,则此函数返回该源;否则它返回nullptr。操作源是使用QDrag对象实例化的QDrag的第一个参数。

这在你需要在小部件上拖动它时需要特殊行为时很有用。

另请参阅QDrag::QDrag

© 2024 The Qt Company Ltd. 所含的文档贡献都是它们各自所有者的版权。此处提供的文档是在Free Software Foundation发布并由GNU Free Documentation License版本1.3许可下。