QScrollerProperties 类

QScrollerProperties 类存储了 QScroller 的设置。 更多信息...

头文件 #include <QScrollerProperties>
CMakefind_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmakeQT += widgets

公共类型

枚举帧率 { Fps60, Fps30, Fps20, 标准 }
枚举超出策略 { 可滚动超出,始终关闭超出,始终启用超出 }
枚举滚动指标 { 鼠标按键事件延迟,拖动开始距离,拖动速度平滑因子,轴锁定阈值,滚动曲线,…,滚动指标总数 }

公共函数

QScrollerProperties()
QScrollerProperties(const QScrollerProperties &sp)
虚拟~QScrollerProperties()
QVariantscrollMetric(QScrollerProperties::ScrollMetric metric) const
voidsetScrollMetric(QScrollerProperties::ScrollMetric metric, const QVariant &value)
booloperator!=(const QScrollerProperties &sp) const
QScrollerProperties &operator=(const QScrollerProperties &sp)
booloperator==(const QScrollerProperties &sp) const

静态公共成员

voidsetDefaultScrollerProperties(const QScrollerProperties &sp)
voidunsetDefaultScrollerProperties()

详细描述

QScrollerProperties 类存储了 QScroller 所使用的参数。

默认设置依赖于平台,因此 Qt 仿真平台对动态滚动的行为。

按照惯例,QScrollerProperties 使用物理单位(米、秒),并由 QScroller 使用当前 DPI 进行转换。

另请参阅 QScroller.

成员类型文档

枚举 QScrollerProperties::FrameRates

此枚举描述在拖动或滚动时使用的可用帧率。

常量描述
QScrollerProperties::Fps601每秒 60 帧
QScrollerProperties::Fps302每秒 30 帧
QScrollerProperties::Fps203每秒 20 帧
QScrollerProperties::Standard0默认值是每秒 60 帧(对应于 QAbstractAnimation)。

枚举 QScrollerProperties::OvershootPolicy

此枚举描述了各种超出模式。

常量描述
QScrollerProperties::OvershootWhenScrollable0当内容可滚动时可能会发生超出。这是默认设置。
QScrollerProperties::OvershootAlwaysOff1超出永远不会启用,即使内容可滚动。
QScrollerProperties::OvershootAlwaysOn2超出始终启用,即使内容不可滚动。

enum QScrollerProperties::ScrollMetric

此枚举包含不同滚动度量类型。除非另有说明,否则setScrollMetric函数期望一个类型为qreal的QVariant

有关不同值背后的概念的更多信息,请参阅QScroller文档。

常量描述
QScrollerProperties::MousePressEventDelay0当在[s]中开始快速滚动手势时,鼠标按下事件将被延迟一段时间。如果在那个时间内触发手势,则不会向滚动的对象发送鼠标按下或释放事件。如果在延迟后触发,则将发送延迟的鼠标按下事件以及全局位置为QPoint(-QWIDGETSIZE_MAX, -QWIDGETSIZE_MAX)的假释放事件。如果手势被取消,则将发送延迟的鼠标按下事件和真实的释放事件。
QScrollerProperties::DragStartDistance1在触发快速滚动手势之前,触摸或鼠标点需要移动的最小距离为m
QScrollerProperties::DragVelocitySmoothingFactor2该值描述了新拖动速度在最终滚动速度中所占的程度。这个值应在0到1之间。数值越低,对拖动速度的平滑作用越大。
QScrollerProperties::AxisLockThreshold3如果运动位于轴周围的角度内,则限制运动到一个轴。阈值应在0到1之间。
QScrollerProperties::ScrollingCurve4在用户启动快速滚动后减速滚动速度时使用的QEasingCurve。请注意,这是位置的缓动曲线,而不是速度:QEasingCurve::OutQuad为默认值,导致速度(第一次导数)线性减少,且减速恒定(第二次导数)。
QScrollerProperties::DecelerationFactor5此因子影响滚筒减速至0速度所需的时间。实际值取决于所选的滚动曲线。对于大多数类型,值应在0.1到2.0之间。
QScrollerProperties::MinimumVelocity6在结束触摸或释放鼠标后,开始滚动的所需最小速度为m/s
QScrollerProperties::MaximumVelocity7这是可以达到的最大速度,单位为m/s
QScrollerProperties::MaximumClickThroughVelocity8这是点击通过时允许的最大滚动速度,单位为《code translate="no">m/s。这意味着点击当前(缓慢)滚动的对象不仅会停止滚动,而且点击事件也会传递给UI控件。这在使用指数类型的滚动曲线时很有用。
QScrollerProperties::AcceleratingFlickMaximumTime9在识别为加速快速滚动手势之前,快速滚动手势可以持续的最长时间,单位为《code translate="no">seconds。如果设置为零,则不检测此类手势。在滚动对象上执行“加速快速滚动手势”,此时滚动速度将乘以加速度滚动加速因子以提高速度。
QScrollerProperties::AcceleratingFlickSpeedupFactor10如果检测到加速快速滚动手势,当前速度将乘以此数字。应为>= 1
QScrollerProperties::SnapPositionRatio11这是用户必须拖动两个捕捉点之间的区域的距离,以便将其捕捉到下一个位置。 0.33 表示滚动必须仅达到两个捕捉点之间距离的三分之一,才能捕捉到下一个。这个比例必须在 01 之间。
QScrollerProperties::SnapTime12这是滚动曲线的时间因子。较低的值意味着滚动将花费更长的时间。滚动距离与此值无关。
QScrollerProperties::OvershootDragResistanceFactor13这个值是鼠标拖动与实际滚动区域移动(在超调时)之间的因子。这个因子必须在 01 之间。
QScrollerProperties::OvershootDragDistanceFactor14这是拖动时超调运动的最大距离。实际上超调距离是通过将此值乘以滚动对象的视口大小来计算的。这个因子必须在 01 之间。
QScrollerProperties::OvershootScrollDistanceFactor15这是滚动时超调运动的最大距离。实际上超调距离是通过将此值乘以滚动对象的视口大小来计算的。这个因子必须在 01 之间。
QScrollerProperties::OvershootScrollTime16这是播放完整的超调动画所用的时间(以秒为单位)。
QScrollerProperties::HorizontalOvershootPolicy17这是水平超调策略(见 OvershootPolicy)。
QScrollerProperties::VerticalOvershootPolicy18这是水平超调策略(见 OvershootPolicy)。
QScrollerProperties::FrameRate19这是拖动或滚动时应使用的帧率。 QScroller 使用内部 QAbstractAnimation 计时器来同步所有滚动操作到同时可能正在运行的其他动画。如果每秒 60 帧的默认值太快,可以通过此设置来降低,同时仍与 QAbstractAnimation 同步。请注意,此处只允许使用 FrameRates 枚举的值。
QScrollerProperties::ScrollMetricCount20这是最后的条目。

成员函数文档

QScrollerProperties::QScrollerProperties()

构造新的滚动属性。

QScrollerProperties::QScrollerProperties(const QScrollerProperties &sp)

构造副本 sp

[虚拟的 noexcept] QScrollerProperties::~QScrollerProperties()

销毁滚动属性。

QVariant QScrollerProperties::scrollMetric(QScrollerProperties::ScrollMetric metric) const

查询滚动属性的 metric 值。

另请参阅setScrollMetric() 和 ScrollMetric

[静态的] 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

[静态] void QScrollerProperties::unsetDefaultScrollerProperties()

将默认构造函数返回的滚动条属性重置为平台默认属性。

另请参阅:setDefaultScrollerProperties

bool QScrollerProperties::operator!=(const QScrollerProperties &sp) const

如果这些滚动条属性与 sp 不同,则返回 true;否则返回 false

QScrollerProperties &QScrollerProperties::operator=(const QScrollerProperties &sp)

sp 赋予这些滚动条属性,并返回对这些滚动条属性的引用。

bool QScrollerProperties::operator==(const QScrollerProperties &sp) const

如果这些滚动条属性与 sp 相等,则返回 true;否则返回 false

© 2024 The Qt Company Ltd. 本文档中的文档贡献者是各自版权的所有者。本提供的文档根据免费软件基金会发布的 GNU自由文档许可协议第1.3版 的条款发布。Qt 和相应的商标是芬兰及全球其他国家的 The Qt Company Ltd 的商标。所有其他商标均为其各自所有者的财产。