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

TableView displays gaps between rows when scrolling down

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: P2: Important P2: Important
    • None
    • 5.12.4, 5.13.0
    • None

      I created a simple project with TableView containing 10 000 000 rows and vertical scrollbar.
      The issue that the more you scroll it down, the more extra spaces between rows appear.

      If you change delegate height to 15 or 31 - extra spaces dissapear and TableView looks as expected until you change rows count to about 17 000 000 or more.

      If you try to set rows count to more than 100 000 000, warning appears:
      "Model size of 200000000 is bigger than the upper limit 100000000", that implies that TableView is designed to process up to that limit of rows.

      Exacly the same happens with ListView.

      The issue is reproduced on Windows 7/10 and Ubuntu 16.

      import QtQuick 2.12
      import QtQuick.Window 2.12
      import QtQuick.Controls 2.5
      
      Window {
          visible: true
          width: 640
          height: 480
      
          TableView {
              anchors.fill: parent
              rowSpacing: 1
      
              model: 1000000
      
              delegate: Rectangle {
                  color: "green"
                  implicitWidth: 100
                  implicitHeight: 20
      
                  Text {
                      text: index
                  }
              }
      
              ScrollBar.vertical: ScrollBar {
                  minimumSize: 0.1;
              }
          }
      }
      
      

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

            richard Richard Moe Gustavsen
            dmitriip Dmitrii Kullackov
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:

                There are no open Gerrit changes