Resolution: Won't Do
Operating System: Arch Linux
KDE Plasma Version: 5.22.90
KDE Frameworks Version: 5.86.0
Qt Version: 5.15.2
Kernel Version: 5.14.8-zen1-1-zen (64-bit)
Graphics Platform: X11
Processors: 12 × AMD Ryzen 5 5600X 6-Core Processor
Memory: 15.6 GiB of RAM
Graphics Processor: NVIDIA GeForce GT 730/PCIe/SSE2Operating System: Arch Linux KDE Plasma Version: 5.22.90 KDE Frameworks Version: 5.86.0 Qt Version: 5.15.2 Kernel Version: 5.14.8-zen1-1-zen (64-bit) Graphics Platform: X11 Processors: 12 × AMD Ryzen 5 5600X 6-Core Processor Memory: 15.6 GiB of RAM Graphics Processor: NVIDIA GeForce GT 730/PCIe/SSE2
84d69e469 (dev), ebd2fe108 (dev), d332c6fd9 (6.5), b1766d9d6 (dev), 06540cdb0 (6.6)
I have a mouse with a clicky wheel (both a Logitech G203 1000Hz and a Dell office mouse) and am running Qt 6.2.0 (from the Qt web installer) and QQC2.
In any app with a Flickable subclass (eg. the left sidebar of the gallery example, or a Qt 6.2+ FileDialog), if I scroll down twice in a row with a click mouse, each scroll adds velocity, and the flickable ends up scrolling around 5-10 times as far as if I scrolled down once. If I scroll down, then immediately afterwards up, the second scroll event can scroll the view far further up than the initial scroll would've gone down.
My expectation is that if I'm using a clicky mouse, the total scroll distance is proportional to the number of downwards scrolls, minus the number of upwards scrolls. This is how browsers (Chrome and Firefox) on Windows and Linux (outside of macOS) handle smooth scroll for clicky wheels, and I think Qt Widgets's non-smooth scroll works this way too.
This is somewhat related to
QTBUG-80720 (comment). On Qt 5.15, two consecutive downwards scrolls travels slightly less distance than two spaced-out downwards scrolls. I think Qt 6.2's behavior was introduced by https://codereview.qt-project.org/c/qt/qtdeclarative/+/347438 :
A single rotation of a "clicky" wheel also moves a fixed distance, which is now adjustable via QStyleHints::wheelScrollLines().
Is this intended to extrapolate to multiple mouse scrolls? Because it doesn't now.
|For Gerrit Dashboard: QTBUG-97055|
|375018,1||Add flicking behavior hints to QStyleHints||dev||qt/qtbase||Status: NEW||-1||0|
|435827,2||Add flicking behavior hints to QWindowsIntegration||dev||qt/qtbase||Status: NEW||-1||0|
|436039,6||Use QPlatformIntegration::MouseWheelDeceleration for Flickable wheel||dev||qt/qtdeclarative||Status: NEW||0||0|