Details
-
Bug
-
Resolution: Fixed
-
P1: Critical
-
6.4.0, 6.4.1
-
None
-
-
79d61b3ab (dev), d61f8a30a (6.5), 8f95978be (6.4)
Description
Table view doesn't propagate mouse events to overlapped Items even when interactive is disabled.
Flickable and ListView works as expected and because TableView also inherits Flickable the same behaviour is expected.
This is important when need to implement frozen/sticky columns with synced overlapping TableView and still want to receive events in "main" TableView.
Example code:
import QtQuick Window { width: 400 height: 400 visible: true MouseArea { anchors.fill: parent onPressed: function(mouse) { console.log("pressed"); } } Flickable { width: 200 height: 200 interactive: false Rectangle { color: "green" width: 200 height: 200 } } ListView { width: 200 height: 200 x: 200 interactive: false model: 1 delegate: Rectangle { color: "orange" width: 200 height: 200 } } TableView { width: 200 height: 200 y: 200 interactive: false model: 1 delegate: Rectangle { color: "blue" implicitWidth: 200 implicitHeight: 200 } } }
Seems like this was introduced, because of pointerNavigation feature. Maybe the potential problem is because QQuickTapHandler consumes those events:
void QQuickTableViewPrivate::init()
{
.....
auto tapHandler = new QQuickTapHandler(q->contentItem());
.....
{{}}
Attachments
For Gerrit Dashboard: QTBUG-108596 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
470681,6 | Ignore tap events for table view when interactive is disabled | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
471559,2 | Ignore tap events for table view when interactive is disabled | 6.5 | qt/qtdeclarative | Status: MERGED | +2 | 0 |
471560,3 | Ignore tap events for table view when interactive is disabled | 6.4 | qt/qtdeclarative | Status: MERGED | +2 | 0 |