QDropEvent类
QDropEvent类提供了一个事件,该事件在拖放操作完成后被发送。更多...
头文件 | #include <QDropEvent> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake | QT += gui |
继承 | QEvent |
继承自 |
- 所有成员列表,包括继承成员
- 已废弃的成员
- QDropEvent是事件类的一部分。
公开函数
QDropEvent(const QPointF &pos, Qt::DropActions actions, const QMimeData *data, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, QEvent::Type type = Drop) | |
void | acceptProposedAction() |
(since 6.0) Qt::MouseButtons | buttons() const |
Qt::DropAction | dropAction() const |
const QMimeData * | mimeData() const |
(since 6.0) Qt::KeyboardModifiers | modifiers() const |
(since 6.0) QPointF | position() const |
Qt::DropActions | possibleActions() const |
Qt::DropAction | proposedAction() const |
void | setDropAction(Qt::DropAction action) |
QObject * | source() const |
详细描述
当一个小部件接受拖放事件时,如果它已接受发送给它的最近的一个QDragEnterEvent或QDragMoveEvent,则它将接收到此事件。
拖放事件包含一个供小部件接受或忽略的建议操作,可以从proposedAction()获取。如果操作可以被小部件处理,应调用acceptProposedAction()函数。由于建议操作可以是Qt::DropAction值的组合,因此可以选择这些值之一作为默认操作,或者要求用户选择他们偏好的操作。
如果建议的放置操作不适合,可能是因为您的自定义小部件不支持该操作,您可以通过调用setDropAction()使用您首选的操作来将其替换为任何可能的放置操作。如果您设置了一个在possibleActions()返回的值的位或组合中不存在的值,则将使用默认的复制操作。一旦设置了替换的放置操作,则应调用accept()而不是acceptProposedAction()来完成放置操作。
mimeData()函数通过QMimeData对象提供小部件上放置的数据。这包含有关数据MIME类型的信息以及数据本身。
成员函数文档
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编码数据中。
放置时鼠标按钮和键盘修饰符的状态由buttons和modifiers指定。
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。
© 2024 The Qt Company Ltd. 所含的文档贡献都是它们各自所有者的版权。此处提供的文档是在Free Software Foundation发布并由GNU Free Documentation License版本1.3许可下。