Класс 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 |
| const QMimeData * | mimeData() 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().
const QMimeData *QDropEvent::mimeData() const
Возвращает данные, которые были опущены на виджет, и связанную с ними информацию о типе MIME.
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.2/qdropevent.html