Класс 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 |
- 7 открытых функций, унаследованных от QEvent
Дополнительные унаследованные члены
- 1 свойство, унаследованное от QEvent
- 1 открытая переменная, унаследованная от QEvent
- 1 статический открытый член, унаследованный от QEvent
- 2 защищённые переменные, унаследованные от QEvent
Подробное описание
Класс 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
Возвращает OR-комбинацию возможных действий помещения.
См. также dropAction().
Qt::DropAction QDropEvent::proposedAction() const
Возвращает предлагаемое действие помещения.
См. также dropAction().
void QDropEvent::setDropAction(Qt::DropAction action)
Устанавливает action, который должен быть выполнен над данными целевым объектом. Используйте это, чтобы переопределить предлагаемое действие одним из возможных действий.
Если вы установите действие помещения, которое не является одним из возможных действий, операция перетаскивания и помещения по умолчанию будет использовать копирование.
После того как вы предоставили заменяющее действие помещения, вызовите accept() вместо acceptProposedAction().
См. также dropAction().
QObject *QDropEvent::source() const
Если источником операции перетаскивания является виджет в этом приложении, эта функция возвращает этот источник; в противном случае возвращает 0. Источником операции является первый параметр объекта QDrag, используемого для создания операции перетаскивания.
Это полезно, если вашему виджету требуется специальное поведение при перетаскивании к нему самому.
См. также QDrag::QDrag().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/qdropevent.html