Spec-Zone.ru › Qt 5.13

Класс QDragMoveEvent

Класс QDragMoveEvent предоставляет событие, которое отправляется во время выполнения действия перетаскивания и перемещения. Подробнее...

Заголовок: #include <QDragMoveEvent>
qmake: QT += gui
Наследуется от: QDropEvent
Наследует:

QDragEnterEvent

  • Список всех членов, включая наследуемые

Открытые функции

QDragMoveEvent(const QPoint &pos, Qt::DropActions actions, const QMimeData *data, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, QEvent::Type type = DragMove)
virtual ~QDragMoveEvent()
void accept(const QRect &rectangle)
void accept()
QRect answerRect() const
void ignore(const QRect &rectangle)
void ignore()

Подробное описание

Виджет будет получать события drag move многократно, пока перетаскивание находится в пределах его границ, если он принимает события drop и события enter. Виджет должен проанализировать событие, чтобы определить, какой тип данных он предоставляет, и вызвать функцию accept(), чтобы принять падение, если это необходимо.

Прямоугольник, предоставленный функцией answerRect(), может использоваться для ограничения падений определёнными частями виджета. Например, мы можем проверить, пересекается ли прямоугольник с геометрией определённого дочернего виджета и вызывать acceptProposedAction() только в этом случае.

Обратите внимание, что этот класс наследует большую часть своей функциональности от QDropEvent.

См. также QDragEnterEvent, QDragLeaveEvent и QDropEvent.

Документация по функциям-членам

QDragMoveEvent::QDragMoveEvent(const QPoint &pos, Qt::DropActions actions, const QMimeData *data, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, QEvent::Type type = DragMove)

Создаёт событие QDragMoveEvent необходимого типа, указывающее, что курсор находится в позиции pos внутри виджета.

Состояния мыши и клавиатуры задаются параметрами buttons и modifiers, а actions описывают типы операций перетаскивания и перемещения, которые возможны. Данные перетаскивания передаются в виде MIME-кодированной информации в data.

Предупреждение: Не пытайтесь создавать объекты QDragMoveEvent самостоятельно. Эти объекты зависят от внутреннего состояния Qt.

[virtual] QDragMoveEvent::~QDragMoveEvent()

Удаляет событие.

void QDragMoveEvent::accept(const QRect &rectangle)

То же самое, что и accept(), но также уведомляет, что будущие перемещения также будут приемлемы, если они останутся в пределах прямоугольника rectangle, заданного на виджете. Это может повысить производительность, но также может быть проигнорировано базовой системой.

Если прямоугольник пустой, события drag move будут отправляться непрерывно. Это полезно, если источник прокручивается в событии таймера.

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.13/qdragmoveevent.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API