Класс 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 |
Подробное описание
Когда виджет принимает события drop, он получит это событие, если он принял последнее отправленное ему событие QDragEnterEvent или QDragMoveEvent.
Событие drop содержит предполагаемое действие, доступное из proposedAction(), которое виджет может принять или игнорировать. Если виджет может обработать действие, вам следует вызвать функцию acceptProposedAction(). Поскольку предполагаемое действие может быть комбинацией значений Qt::DropAction, может быть полезно выбрать одно из этих значений в качестве действия по умолчанию или попросить пользователя выбрать предпочитаемое действие.
Если предполагаемое действие drop не подходит, возможно, потому что ваш пользовательский виджет не поддерживает это действие, вы можете заменить его любым из возможных действий drop, вызвав setDropAction() с вашим предпочтительным действием. Если вы зададите значение, которое не присутствует в битовом ИЛИ-соединении значений, возвращаемых possibleActions(), будет использоваться действие копирования по умолчанию. После того, как вы задали заменённое действие drop, вызовите accept() вместо acceptProposedAction(), чтобы завершить операцию drop.
Функция 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)
Создает событие drop определенного type, соответствующее drop в точке, указанной pos, в системе координат целевого виджета.
actions указывают типы операций перетаскивания и放下, которые могут быть выполнены, а данные перетаскивания хранятся в виде данных MIME в data.
Состояния кнопок мыши и модификаторов клавиатуры в момент drop задаются параметрами buttons и modifiers.
void QDropEvent::acceptProposedAction()
Устанавливает действие drop в качестве предполагаемого действия.
См. также setDropAction(), proposedAction() и accept().
Qt::DropAction QDropEvent::dropAction() const
Возвращает действие, которое должно быть выполнено над данными целевым объектом. Это может отличаться от действия, предоставленного в proposedAction(), если вы вызвали setDropAction() для явного выбора действия drop.
См. также setDropAction().
Qt::KeyboardModifiers QDropEvent::keyboardModifiers() const
Возвращает нажатые клавиши-модификаторы.
const QMimeData *QDropEvent::mimeData() const
Возвращает данные, которые были перетащены на виджет, и связанную с ними информацию о типе MIME.
Qt::MouseButtons QDropEvent::mouseButtons() const
Возвращает нажатые кнопки мыши.
QPoint QDropEvent::pos() const
Возвращает позицию, в которой было выполнено drop.
QPointF QDropEvent::posF() const
Возвращает позицию, в которой было выполнено drop.
Qt::DropActions QDropEvent::possibleActions() const
Возвращает комбинацию возможных действий drop, полученную побитовым ИЛИ.
См. также dropAction().
Qt::DropAction QDropEvent::proposedAction() const
Возвращает предполагаемое действие drop.
См. также dropAction().
void QDropEvent::setDropAction(Qt::DropAction action)
Устанавливает action, который должен быть выполнен над данными целевым объектом. Используйте это для переопределения предлагаемого действия одним из возможных действий.
Если вы зададите действие drop, которое не является одним из возможных действий, операция перетаскивания и放下 по умолчанию будет выполнена как копирование.
После того, как вы предоставили заменённое действие drop, вызовите 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.0/qdropevent.html