Класс 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.
Документация по типам членов
enum QScrollerProperties::FrameRates
Это перечисление описывает доступные частоты кадров, используемые во время перетаскивания или прокрутки.
| Константа | Значение | Описание |
|---|---|---|
QScrollerProperties::Fps60 |
1 |
60 кадров в секунду |
QScrollerProperties::Fps30 |
2 |
30 кадров в секунду |
QScrollerProperties::Fps20 |
3 |
20 кадров в секунду |
QScrollerProperties::Standard |
0 |
Значение по умолчанию равно 60 кадрам в секунду (что соответствует QAbstractAnimation). |
enum QScrollerProperties::OvershootPolicy
Это перечисление описывает различные режимы перехвата.
| Константа | Значение | Описание |
|---|---|---|
QScrollerProperties::OvershootWhenScrollable |
0 |
Перехват возможен, когда содержимое может прокручиваться. Это значение по умолчанию. |
QScrollerProperties::OvershootAlwaysOff |
1 |
Перехват никогда не разрешен, даже если содержимое может прокручиваться. |
QScrollerProperties::OvershootAlwaysOn |
2 |
Перехват всегда разрешен, даже если содержимое не может прокручиваться. |
enum 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.1 до 2.0 |
QScrollerProperties::MinimumVelocity |
6 |
Минимальная скорость, необходимая после окончания касания или отпускания мыши для начала прокрутки в m/s. |
QScrollerProperties::MaximumVelocity |
7 |
Это максимальная скорость, которая может быть достигнута в m/s. |
QScrollerProperties::MaximumClickThroughVelocity |
8 |
Это максимальная разрешенная скорость прокрутки для клика сквозь прокручиваемый объект в m/s. Это означает, что щелчок по объекту, который в данный момент медленно прокручивается, не только остановит прокрутку, но и отправит событие щелчка на элемент пользовательского интерфейса. Это полезно при использовании кривых прокрутки экспоненциального типа. |
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 ScrollerMetric в 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.1/qscrollerproperties.html