Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-108596

[REG 6.3.2->6.4.0] TableView consumes mouse press/click events

    XMLWordPrintable

Details

    • All
    • 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

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            santhoshkumar Santhosh Kumar Selvaraj
            chocis Janis Coders
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes