QScrollerProperties 类
QScrollerProperties 类存储了 QScroller 的设置。 更多信息...
头文件 | #include <QScrollerProperties> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake | QT += widgets |
公共类型
枚举 | 帧率 { Fps60, Fps30, Fps20, 标准 } |
枚举 | 超出策略 { 可滚动超出,始终关闭超出,始终启用超出 } |
枚举 | 滚动指标 { 鼠标按键事件延迟,拖动开始距离,拖动速度平滑因子,轴锁定阈值,滚动曲线,…,滚动指标总数 } |
公共函数
QScrollerProperties() | |
QScrollerProperties(const QScrollerProperties &sp) | |
虚拟 | ~QScrollerProperties() |
QVariant | scrollMetric(QScrollerProperties::ScrollMetric metric) const |
void | setScrollMetric(QScrollerProperties::ScrollMetric metric, const QVariant &value) |
bool | operator!=(const QScrollerProperties &sp) const |
QScrollerProperties & | operator=(const QScrollerProperties &sp) |
bool | operator==(const QScrollerProperties &sp) const |
静态公共成员
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 | 超出始终启用,即使内容不可滚动。 |
enum QScrollerProperties::ScrollMetric
此枚举包含不同滚动度量类型。除非另有说明,否则setScrollMetric函数期望一个类型为qreal的QVariant。
有关不同值背后的概念的更多信息,请参阅QScroller文档。
常量 | 值 | 描述 |
---|---|---|
QScrollerProperties::MousePressEventDelay | 0 | 当在[s] 中开始快速滚动手势时,鼠标按下事件将被延迟一段时间。如果在那个时间内触发手势,则不会向滚动的对象发送鼠标按下或释放事件。如果在延迟后触发,则将发送延迟的鼠标按下事件以及全局位置为QPoint(-QWIDGETSIZE_MAX, -QWIDGETSIZE_MAX) 的假释放事件。如果手势被取消,则将发送延迟的鼠标按下事件和真实的释放事件。 |
QScrollerProperties::DragStartDistance | 1 | 在触发快速滚动手势之前,触摸或鼠标点需要移动的最小距离为m 。 |
QScrollerProperties::DragVelocitySmoothingFactor | 2 | 该值描述了新拖动速度在最终滚动速度中所占的程度。这个值应在0到1之间。数值越低,对拖动速度的平滑作用越大。 |
QScrollerProperties::AxisLockThreshold | 3 | 如果运动位于轴周围的角度内,则限制运动到一个轴。阈值应在0到1之间。 |
QScrollerProperties::ScrollingCurve | 4 | 在用户启动快速滚动后减速滚动速度时使用的QEasingCurve 。请注意,这是位置的缓动曲线,而不是速度:QEasingCurve::OutQuad 为默认值,导致速度(第一次导数)线性减少,且减速恒定(第二次导数)。 |
QScrollerProperties::DecelerationFactor | 5 | 此因子影响滚筒减速至0速度所需的时间。实际值取决于所选的滚动曲线。对于大多数类型,值应在0.1到2.0之间。 |
QScrollerProperties::MinimumVelocity | 6 | 在结束触摸或释放鼠标后,开始滚动的所需最小速度为m/s 。 |
QScrollerProperties::MaximumVelocity | 7 | 这是可以达到的最大速度,单位为m/s 。 |
QScrollerProperties::MaximumClickThroughVelocity | 8 | 这是点击通过时允许的最大滚动速度,单位为《code translate="no">m/s。这意味着点击当前(缓慢)滚动的对象不仅会停止滚动,而且点击事件也会传递给UI控件。这在使用指数类型的滚动曲线时很有用。 |
QScrollerProperties::AcceleratingFlickMaximumTime | 9 | 在识别为加速快速滚动手势之前,快速滚动手势可以持续的最长时间,单位为《code translate="no">seconds。如果设置为零,则不检测此类手势。在滚动对象上执行“加速快速滚动手势”,此时滚动速度将乘以加速度滚动加速因子以提高速度。 |
QScrollerProperties::AcceleratingFlickSpeedupFactor | 10 | 如果检测到加速快速滚动手势,当前速度将乘以此数字。应为>= 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 | 这是播放完整的超调动画所用的时间(以秒为单位)。 |
QScrollerProperties::HorizontalOvershootPolicy | 17 | 这是水平超调策略(见 OvershootPolicy)。 |
QScrollerProperties::VerticalOvershootPolicy | 18 | 这是水平超调策略(见 OvershootPolicy)。 |
QScrollerProperties::FrameRate | 19 | 这是拖动或滚动时应使用的帧率。 QScroller 使用内部 QAbstractAnimation 计时器来同步所有滚动操作到同时可能正在运行的其他动画。如果每秒 60 帧的默认值太快,可以通过此设置来降低,同时仍与 QAbstractAnimation 同步。请注意,此处只允许使用 FrameRates 枚举的值。 |
QScrollerProperties::ScrollMetricCount | 20 | 这是最后的条目。 |
成员函数文档
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 的商标。所有其他商标均为其各自所有者的财产。