Класс QDragMoveEvent
Класс QDragMoveEvent предоставляет событие, которое отправляется во время выполнения действия перетаскивания и перекладывания. Подробнее...
| Заголовок: | #include <QDragMoveEvent> |
| qmake: | QT += gui |
| Наследует: | QDropEvent |
| Наследуется от: |
Открытые функции
| QDragMoveEvent(const QPoint &pos, Qt::DropActions actions, const QMimeData *data, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Type type = DragMove) | |
| ~QDragMoveEvent() | |
| void | accept(const QRect &rectangle) |
| void | accept() |
| QRect | answerRect() const |
| void | ignore(const QRect &rectangle) |
| void | ignore() |
- 11 открытых функций, унаследованных от QDropEvent
- 6 открытых функций, унаследованных от QEvent
Дополнительные наследуемые члены
Подробное описание
Класс QDragMoveEvent предоставляет событие, которое отправляется во время выполнения действия перетаскивания и перекладывания.
Виджет будет получать события перетаскивания и перемещения многократно, пока перетаскивание находится в пределах его границ, если он принимает события перекладывания и события входа. Виджет должен проверить событие, чтобы увидеть какой тип данных он предоставляет, и вызвать функцию accept(), чтобы принять перекладывание, если это уместно.
Прямоугольник, возвращаемый функцией answerRect(), может быть использован для ограничения перекладывания определенными частями виджета. Например, можно проверить, пересекается ли прямоугольник с геометрией определенного дочернего виджета и вызвать acceptProposedAction() только в том случае, если это так.
Обратите внимание, что этот класс наследует большую часть своей функциональности от QDropEvent.
См. также QDragEnterEvent, QDragLeaveEvent и QDropEvent.
Документация по функциям-членам
QDragMoveEvent::QDragMoveEvent(const QPoint &pos, Qt::DropActions actions, const QMimeData *data, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Type type = DragMove)
Создает QDragMoveEvent необходимого type, показывая, что указатель находится в позиции pos внутри виджета.
Состояния мыши и клавиатуры задаются buttons и modifiers, а actions описывают типы операций перетаскивания и перекладывания, которые возможны. Данные перетаскивания передаются в виде кодированных MIME-данных в data.
Предупреждение: Не пытайтесь создавать QDragMoveEvent самостоятельно. Эти объекты зависят от внутреннего состояния Qt.
QDragMoveEvent::~QDragMoveEvent()
Уничтожает событие.
void QDragMoveEvent::accept(const QRect &rectangle)
То же, что и accept(), но также сообщает, что будущие перемещения также будут приемлемыми, если они останутся в пределах заданного rectangle на виджете. Это может повысить производительность, но может быть проигнорировано базовой системой.
Если прямоугольник пустой, события перетаскивания и перемещения будут отправляться непрерывно. Это полезно, если источник прокручивается в событии таймера.
void QDragMoveEvent::accept()
Это перегруженная функция.
Вызывает QDropEvent::accept().
QRect QDragMoveEvent::answerRect() const
Возвращает прямоугольник в виджете, где произойдет перекладывание, если оно будет принято. Вы можете использовать эту информацию для ограничения перекладывания определенными местами на виджете.
void QDragMoveEvent::ignore(const QRect &rectangle)
Обратная функция accept(const QRect&). Перемещения в пределах rectangle неприемлемы и будут проигнорированы.
void QDragMoveEvent::ignore()
Это перегруженная функция.
Вызывает QDropEvent::ignore().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qdragmoveevent.html