Класс QDropEvent
Класс QDropEvent предоставляет событие, которое отправляется при завершении действия перетаскивания и опускания. Подробнее...
| Заголовок: | #include <QDropEvent> |
| CMake: | find_package(Qt6 COMPONENTS Gui REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| 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 |
| 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
Возвращает позицию, где было произведено опускание.
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-6.1/qdropevent.html