Класс 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)
Создает событие опускания определенного типа, соответствующее опусканию в точке, указанной 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.14/qdropevent.html