Класс 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 |
- 6 открытых функций, унаследованных от QEvent
Защищенные переменные
| Qt::DropActions | act |
| Qt::DropAction | default_action |
| Qt::DropAction | drop_action |
| const QMimeData * | mdata |
| Qt::KeyboardModifiers | modState |
| Qt::MouseButtons | mouseState |
| QPointF | p |
Дополнительные унаследованные члены
Подробное описание
Класс QDropEvent предоставляет событие, которое отправляется при завершении операции перетаскивания и опускания.
Когда виджет принимает события опускания, он получит это событие, если он принял последнее отправленное ему событие 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.12/qdropevent.html