Класс 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 предоставляет событие, которое отправляется во время выполнения действия перетаскивания и опускания.
Виджет будет получать события drag move многократно, пока перетаскивание происходит в его границах, если он принимает события опускания и события входа. Виджет должен проверить событие, чтобы определить какой тип данных он предоставляет, и вызвать функцию 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, заданного на виджете. Это может улучшить производительность, но также может быть проигнорировано основной системой.
Если прямоугольник пустой, события 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/archives/qt-5.6/qdragmoveevent.html