A QQuickWidget contains a Quick UI, which can be expected to handle touch events, and it handles touch events by forwarding them to the QQuickWindow. So set the AcceptTouchEvents attribute and let the Qt Quick delivery machinery deal with the touch-mouse synthesis within the scene. Also, Qt Quick's event delivery might return event points as ignored after setting the exclusive grabber. Qt Widgets touch event delivery logic doesn't care about exclusive grabbers, and relies on the event points being accepted to make the widget that received the TouchBegin an implicit grabber. QQuickWidget needs to translate those states back, so accept all points that come back with a grabber. Add a test that verifies that a button in a popup gets all events, and that those events are translated correctly - without the fix, the "clicked" test fails, as the release is delivered, but with coordinates outside of the button. Also test that we can have two QQuickWidgets where each gets one touch point. Fixes: QTBUG-101736 Pick-to: 6.5 6.4 6.2 Change-Id: I3a2bf05fd297ae4d72b6e236ecd8e5ddac37ce06 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Paul Wicking <paul.wicking@qt.io> |
||
---|---|---|
LICENSES | ||
cmake | ||
coin | ||
dist | ||
examples | ||
features | ||
src | ||
tests | ||
tools | ||
.cmake.conf | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
.tag | ||
CMakeLists.txt | ||
README.md | ||
conanfile.py | ||
configure.cmake | ||
dependencies.yaml | ||
qt_cmdline.cmake | ||
qtdeclarative.doxy | ||
sync.profile |
README.md
qtdeclarative
The qtdeclarative repository is home to QML, Qt Quick and several related modules:
- Qt QML
- Qt QML Core
- Qt QML Models
- Qt QML WorkerScript
- Qt QML XmlListModel
- Qt Quick
- Qt Quick Controls 2
- Qt Quick Layouts
- Qt Quick Local Storage
- Qt Quick Particles
- Qt Quick Shapes
- Qt Quick Templates
- Qt Quick Test
In addition, there are several Qt Labs modules: