Класс QDropEvent
Класс QDropEvent предоставляет событие, которое отправляется при завершении действия перетаскивания и отпускания. Подробнее...
| Заголовок: | #include <QDropEvent> |
| qmake: | QT += gui |
| Наследует: | QEvent |
| Наследуется от: |
Открытые функции
| QDropEvent(const QPointF &pos, Qt::DropActions actions, const QMimeData *data, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, QEvent::Type type = Drop) | |
| void | acceptProposedAction() |
| Qt::DropAction | dropAction() const |
| Qt::KeyboardModifiers | keyboardModifiers() const |
| const QMimeData * | mimeData() const |
| Qt::MouseButtons | mouseButtons() const |
| QPoint | pos() const |
| const QPointF & | posF() 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-типе данных в дополнение к самим данным.
См. также QMimeData, QDrag и Перетаскивание и отпускание.
Документация по функциям-членам
QDropEvent::QDropEvent(const QPointF &pos, Qt::DropActions actions, const QMimeData *data, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, QEvent::Type type = Drop)
Создает событие перетаскивания и отпускания определенного type, соответствующее падению в точке, заданной pos в системе координат целевого виджета.
actions указывают типы операций перетаскивания и отпускания, которые могут быть выполнены, а данные перетаскивания хранятся в виде данных в формате MIME в data.
Состояния кнопок мыши и модификаторов клавиш в момент падения задаются параметрами buttons и modifiers.
void QDropEvent::acceptProposedAction()
Устанавливает действие перетаскивания и отпускания в качестве предложенного действия.
См. также setDropAction(), proposedAction() и accept().
Qt::DropAction QDropEvent::dropAction() const
Возвращает действие, которое должно быть выполнено над данными целевым объектом. Оно может отличаться от действия, предоставленного в proposedAction(), если вы вызвали setDropAction(), чтобы явно выбрать действие перетаскивания и отпускания.
См. также setDropAction().
Qt::KeyboardModifiers QDropEvent::keyboardModifiers() const
Возвращает нажатые модификаторы клавиш.
const QMimeData *QDropEvent::mimeData() const
Возвращает данные, которые были сброшены на виджет, и связанную с ними информацию о типе MIME.
Qt::MouseButtons QDropEvent::mouseButtons() const
Возвращает нажатые кнопки мыши.
QPoint QDropEvent::pos() const
Возвращает позицию, где было выполнено перетаскивание и отпускание.
const QPointF &QDropEvent::posF() const
Возвращает позицию, где было выполнено перетаскивание и отпускание.
Qt::DropActions QDropEvent::possibleActions() const
Возвращает комбинацию возможных действий перетаскивания и отпускания с помощью операции ИЛИ.
См. также dropAction().
Qt::DropAction QDropEvent::proposedAction() const
Возвращает предложенное действие перетаскивания и отпускания.
См. также dropAction().
void QDropEvent::setDropAction(Qt::DropAction action)
Устанавливает action, который должен быть выполнен над данными целевым объектом. Используйте это для переопределения предложенного действия одним из возможных действий.
Если вы установите действие перетаскивания и отпускания, которое не является одним из возможных действий, операция перетаскивания и отпускания будет по умолчанию назначена действию копирования.
После того, как вы предоставили заменяемое действие перетаскивания и отпускания, вызовите accept() вместо acceptProposedAction().
См. также dropAction().
QObject *QDropEvent::source() const
Если источником операции перетаскивания является виджет в этом приложении, эта функция возвращает этот источник; в противном случае она возвращает nullptr. Источник операции — это первый параметр объекта QDrag, используемого для создания операции перетаскивания.
Это полезно, если вашему виджету требуется специальное поведение при перетаскивании к себе.
См. также QDrag::QDrag().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qdropevent.html