Класс QScrollerProperties
Класс QScrollerProperties хранит настройки для QScroller. Подробнее...
| Заголовок: | #include <QScrollerProperties> |
| CMake: | find_package(Qt6 COMPONENTS Widgets REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
Типы public
| Перечисление | FrameRates { Fps60, Fps30, Fps20, Standard } |
| Перечисление | OvershootPolicy { OvershootWhenScrollable, OvershootAlwaysOff, OvershootAlwaysOn } |
| Перечисление | ScrollMetric { MousePressEventDelay, DragStartDistance, DragVelocitySmoothingFactor, AxisLockThreshold, ScrollingCurve, …, ScrollMetricCount } |
Функции public
| QScrollerProperties(const QScrollerProperties &sp) | |
| QScrollerProperties() | |
| QScrollerProperties & | operator=(const QScrollerProperties &sp) |
| virtual | ~QScrollerProperties() |
| QVariant | scrollMetric(QScrollerProperties::ScrollMetric metric) const |
| void | setScrollMetric(QScrollerProperties::ScrollMetric metric, const QVariant &value) |
| bool | operator!=(const QScrollerProperties &sp) const |
| bool | operator==(const QScrollerProperties &sp) const |
Статические члены public
| void | setDefaultScrollerProperties(const QScrollerProperties &sp) |
| void | unsetDefaultScrollerProperties() |
Подробное описание
Класс QScrollerProperties хранит параметры, используемые классом QScroller.
Значения по умолчанию зависят от платформы, чтобы Qt эмулировал поведение платформы для кинетического прокручивания.
В соответствии с соглашением, QScrollerProperties находятся в физических единицах (метр, секунды) и преобразуются классом QScroller с использованием текущего DPI.
См. также QScroller.
Документация по типам членов
Перечисление QScrollerProperties::FrameRates
Это перечисление описывает доступные частоты кадров, используемые при перетаскивании или прокрутке.
| Константа | Значение | Описание |
|---|---|---|
QScrollerProperties::Fps60 |
1 |
60 кадров в секунду |
QScrollerProperties::Fps30 |
2 |
30 кадров в секунду |
QScrollerProperties::Fps20 |
3 |
20 кадров в секунду |
QScrollerProperties::Standard |
0 |
Значение по умолчанию составляет 60 кадров в секунду (что соответствует QAbstractAnimation). |
Перечисление QScrollerProperties::OvershootPolicy
Это перечисление описывает различные режимы перехода за границы.
| Константа | Значение | Описание |
|---|---|---|
QScrollerProperties::OvershootWhenScrollable |
0 |
Переход за границы возможен, когда содержимое прокручивается. Это значение по умолчанию. |
QScrollerProperties::OvershootAlwaysOff |
1 |
Переход за границы никогда не разрешен, даже когда содержимое прокручивается. |
QScrollerProperties::OvershootAlwaysOn |
2 |
Переход за границы всегда разрешен, даже когда содержимое не прокручивается. |
Перечисление QScrollerProperties::ScrollMetric
Это перечисление содержит различные типы метрик прокрутки. Если не указано иное, функция setScrollMetric ожидает QVariant типа qreal.
См. документацию QScroller для получения дополнительной информации о концепциях, лежащих в основе различных значений.
| Постоянная | Значение | Описание |
|---|---|---|
QScrollerProperties::MousePressEventDelay |
0 |
Это время задержки события нажатия мыши при запуске жеста flick в [s]. Если жест инициирован в течение этого времени, событие нажатия или отпускания мыши не отправляется на прокручиваемый объект. Если жест инициирован после задержки, отправляется задержанное событие нажатия мыши, а также имитируемое событие отпускания в глобальных координатах QPoint(-QWIDGETSIZE_MAX, -QWIDGETSIZE_MAX). Если жест отменён, то отправляются оба события: задержанное нажатие и реальное событие отпускания. |
QScrollerProperties::DragStartDistance |
1 |
Это минимальное расстояние перемещения точки касания или мыши, необходимое для запуска жеста flick в m. |
QScrollerProperties::DragVelocitySmoothingFactor |
2 |
Значение, определяющее, в какой степени новые скорости перетаскивания включаются в итоговую скорость прокрутки. Это значение должно быть в диапазоне от 0 до 1. Чем меньше значение, тем больше сглаживание применяется к скорости перетаскивания. |
QScrollerProperties::AxisLockThreshold |
3 |
Ограничивает перемещение до одной оси, если перемещение находится внутри угла вокруг этой оси. Пороговое значение должно быть в диапазоне от 0 до 1. |
QScrollerProperties::ScrollingCurve |
4 |
Кривая сглаживания QEasingCurve, используемая при замедлении скорости прокрутки после инициированного пользователем жеста flick. Обратите внимание, что это кривая сглаживания для позиций, а не для скорости: по умолчанию используется QEasingCurve::OutQuad, что приводит к линейному уменьшению скорости (первая производная) и постоянному замедлению (вторая производная). |
QScrollerProperties::DecelerationFactor |
5 |
Этот множитель влияет на то, сколько времени требуется прокручивателю, чтобы замедлиться до 0 скорости. Фактическое значение зависит от выбранной кривой прокрутки. Для большинства типов значение должно быть в диапазоне от 0.1 до 2.0. |
QScrollerProperties::MinimumVelocity |
6 |
Минимальная скорость, необходимая после окончания касания или отпускания мыши, чтобы начать прокрутку в m/s. |
QScrollerProperties::MaximumVelocity |
7 |
Это максимальная скорость, которая может быть достигнута в m/s. |
QScrollerProperties::MaximumClickThroughVelocity |
8 |
Это максимальная разрешённая скорость прокрутки при клике сквозь m/s. Это означает, что щелчок по объекту, который в данный момент медленно прокручивается, не только остановит прокрутку, но и приведет к тому, что событие щелчка будет отправлено в элемент управления UI. Это полезно при использовании кривых прокрутки экспоненциального типа. |
QScrollerProperties::AcceleratingFlickMaximumTime |
9 |
Это максимальное время в seconds, в течение которого жест flick может считаться ускорением. Если установлено значение ноль, такие жесты не обнаруживаются. «Ускоренный жест flick» — это жест flick, выполненный на уже прокручиваемом объекте. В таких случаях скорость прокрутки умножается на AcceleratingFlickSpeedupFactor для ускорения. |
QScrollerProperties::AcceleratingFlickSpeedupFactor |
10 |
Текущая скорость умножается на это число, если обнаружен ускоренный жест flick. Должно быть >= 1. |
QScrollerProperties::SnapPositionRatio |
11 |
Это расстояние, на которое пользователь должен перетащить область между двумя точками привязки, чтобы привязать её к следующей позиции. 0.33 означает, что прокрутка должна достичь только одной трети расстояния между двумя точками привязки, чтобы привязаться к следующей. Коэффициент должен быть между 0 и 1. |
QScrollerProperties::SnapTime |
12 |
Это множитель времени для кривой прокрутки. Меньшее значение означает, что прокрутка займет больше времени. Расстояние прокрутки не зависит от этого значения. |
QScrollerProperties::OvershootDragResistanceFactor |
13 |
Это коэффициент между перемещением мыши и фактическим перемещением области прокрутки (во время перехлёста). Коэффициент должен быть между 0 и 1. |
QScrollerProperties::OvershootDragDistanceFactor |
14 |
Это максимальное расстояние для перемещений с перехлёстом при перетаскивании. Фактическое расстояние перехлёста вычисляется путём умножения этого значения на размер области просмотра прокручиваемого объекта. Коэффициент должен быть между 0 и 1. |
QScrollerProperties::OvershootScrollDistanceFactor |
15 |
Это максимальное расстояние для перемещений с перехлёстом при прокрутке. Фактическое расстояние перехлёста вычисляется путём умножения этого значения на размер области просмотра прокручиваемого объекта. Коэффициент должен быть между 0 и 1. |
QScrollerProperties::OvershootScrollTime |
16 |
Это время в seconds, используемое для воспроизведения полной анимации перехлёста. |
QScrollerProperties::HorizontalOvershootPolicy |
17 |
Это политика горизонтального перехлёста (см. OvershootPolicy). |
QScrollerProperties::VerticalOvershootPolicy |
18 |
Это политика горизонтального перехлёста (см. OvershootPolicy). |
QScrollerProperties::FrameRate |
19 |
Это частота кадров, которая должна использоваться при перетаскивании или прокрутке. QScroller использует таймер QAbstractAnimation внутри для синхронизации всех операций прокрутки с другими анимациями, которые могут быть активны в одно и то же время. Если стандартное значение 60 кадров в секунду слишком быстро, его можно понизить с помощью этого параметра, сохраняя при этом синхронизацию с QAbstractAnimation. Обратите внимание, что здесь разрешены только значения перечисления FrameRates. |
QScrollerProperties::ScrollMetricCount |
20 |
Это всегда последняя запись. |
Документация по членам-функциям
QScrollerProperties::QScrollerProperties(const QScrollerProperties &sp)
Создаёт копию sp.
QScrollerProperties::QScrollerProperties()
Создаёт новые свойства прокрутки.
QScrollerProperties &QScrollerProperties::operator=(const QScrollerProperties &sp)
Присваивает sp этим свойствам прокрутки и возвращает ссылку на эти свойства прокрутки.
[virtual] QScrollerProperties::~QScrollerProperties()
Уничтожает свойства прокрутки.
QVariant QScrollerProperties::scrollMetric(QScrollerProperties::ScrollMetric metric) const
Получает значение metric свойств прокрутки.
См. также setScrollMetric() и ScrollMetric.
[static] void QScrollerProperties::setDefaultScrollerProperties(const QScrollerProperties &sp)
Устанавливает свойства прокрутки для всех новых объектов QScrollerProperties равными sp.
Используйте эту функцию, чтобы переопределить значения свойств прокрутки по умолчанию, возвращаемые конструктором по умолчанию. Если вы хотите изменить свойства прокрутки только для одного прокручивателя, используйте QScroller::setScrollerProperties().
Примечание: Вызов этой функции не изменит содержимое уже существующих объектов QScrollerProperties.
См. также unsetDefaultScrollerProperties().
void QScrollerProperties::setScrollMetric(QScrollerProperties::ScrollMetric metric, const QVariant &value)
Устанавливает определённое значение метрики metric прокрутки равным value.
См. также scrollMetric() и ScrollMetric.
[static] void QScrollerProperties::unsetDefaultScrollerProperties()
Возвращает свойства прокрутки, возвращаемые конструктором по умолчанию, к значениям по умолчанию для платформы.
См. также setDefaultScrollerProperties().
bool QScrollerProperties::operator!=(const QScrollerProperties &sp) const
Возвращает true если эти свойства прокрутки отличаются от sp; в противном случае возвращает false.
bool QScrollerProperties::operator==(const QScrollerProperties &sp) const
Возвращает true если эти свойства прокрутки равны sp; в противном случае возвращает false.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qscrollerproperties.html