QScrollerProperties Class
QScrollerProperties 类存储QScroller 的设置 ... 更多...
头文件: | #include <QScrollerProperties> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
公共类型
enum | FrameRates { Fps60, Fps30, Fps20, Standard } |
enum | OvershootPolicy { OvershootWhenScrollable, OvershootAlwaysOff, OvershootAlwaysOn } |
enum | ScrollMetric { MousePressEventDelay, DragStartDistance, DragVelocitySmoothingFactor, AxisLockThreshold, ScrollingCurve, …, ScrollMetricCount } |
公共函数
QScrollerProperties() | |
QScrollerProperties(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 |
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 。
成员类型文档
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 | 这是在[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 ,其结果是速度线性下降(1 次导数)和恒定减速(2 次导数)。 |
QScrollerProperties::DecelerationFactor | 5 | 该系数影响滚动器减速到 0 速度所需的时间。实际值取决于所选的 ScrollingCurve。对于大多数类型,该值的范围应为0.1 至2.0 |
QScrollerProperties::MinimumVelocity | 6 | 结束触摸或释放鼠标后开始滚动所需的最小速度(m/s )。 |
QScrollerProperties::MaximumVelocity | 7 | 在m/s 中可以达到的最大速度。 |
QScrollerProperties::MaximumClickThroughVelocity | 8 | 这是m/s 中允许的最大点击滚动速度。这意味着点击当前(缓慢)滚动的对象不仅会停止滚动,而且点击事件也会传递给用户界面控件。这在使用指数型滚动曲线时非常有用。 |
QScrollerProperties::AcceleratingFlickMaximumTime | 9 | 这是以seconds 为单位的轻移手势被识别为加速轻移的最长时间。如果设置为零,则不会检测到此类手势。加速弹动 "是指在已经滚动的对象上执行的弹动手势。在这种情况下,滚动速度会乘以 AcceleratingFlickSpeedupFactor(加速轻移速度因子),以加快滚动速度。 |
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 | 这是播放完整过冲动画的时间(seconds )。 |
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 的副本。
[virtual noexcept]
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
如果这些滚动条属性与sp 不同,则返回true
;否则返回false
。
QScrollerProperties &QScrollerProperties::operator=(const QScrollerProperties &sp)
为这些滚动条属性指定sp ,并返回对这些滚动条属性的引用。
bool QScrollerProperties::operator==(const QScrollerProperties &sp) const
如果这些滚动条属性等于sp ,则返回true
;否则返回false
。
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.