首页 > 解决方案 > 如何在 QML 的 TableView 中隐藏未使用的行?

问题描述

下面的代码显示了表中未使用的行。我希望未使用的行消失。应改为显示空白。

在此处输入图像描述

import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.Controls 1.4
Window {
    visible: true
    width: 640
    height: 480

    TableView
    {
        height: 300; width: 300
        TableViewColumn {
                role: "title"
                title: "Title"
                width: 100
            }
            TableViewColumn {
                role: "author"
                title: "Author"
                width: 200
            }
            model: libraryModel
    }

    ListModel {
        id: libraryModel
        ListElement {
            title: "A Masterpiece"
            author: "Gabriel"
        }
        ListElement {
            title: "Brilliance"
            author: "Jens"
        }
        ListElement {
            title: "Outstanding"
            author: "Frederik"
        }
    }
}

我有哪些选择?

标签: javascriptqtqml

解决方案


rowDelegate必须在TableView中添加以下行:

readonly property int modelRow: styleData.row ? styleData.row : 0

        rowDelegate: Rectangle 
                     {
                        id: rowDel
                        border.width: 1
                        height:  52
                        width: 2000

                        readonly property int modelRow: styleData.row ? styleData.row : 0
                     }

信用:https ://stackoverflow.com/a/33972305/462608


推荐阅读