C++ 如何使整个GridView行垂直展开

C++ 如何使整个GridView行垂直展开,c++,qt,qml,C++,Qt,Qml,所以我想做的是在鼠标点击下展开一个GridView行。它看起来应该有点像。想象一下,在鼠标单击之前,行之间的距离相等,然后行垂直扩展,当菜单关闭时,行返回到其正常间距 这在标准GridView中是可能的,还是我必须创建自己的?我使用了cellHeight,但这会改变每一行的高度,而不仅仅是当前行的高度。如果不使用GridView,而是使用包含三行的列,可能会更容易。不需要时,可以简单地使中间一行不可见。这将使UI更加灵活 这应该是这样的: property bool informationsVi

所以我想做的是在鼠标点击下展开一个GridView行。它看起来应该有点像。想象一下,在鼠标单击之前,行之间的距离相等,然后行垂直扩展,当菜单关闭时,行返回到其正常间距


这在标准GridView中是可能的,还是我必须创建自己的?我使用了cellHeight,但这会改变每一行的高度,而不仅仅是当前行的高度。

如果不使用GridView,而是使用包含三行的列,可能会更容易。不需要时,可以简单地使中间一行不可见。这将使UI更加灵活

这应该是这样的:

property bool informationsVisible: false
Column {
    anchors.fill: parent
    Row {
        id: firstRow
        Repeater {
            model: firstHalfOfYourData
            delegate: MouseArea {
                //Your item representation
            }
        }
    }

    Row {
        id: informationsRow
        visible: informationsVisible
            //Display informations on the selected element here
    }

    Row {
        id: secondRow
        Repeater {
            model: secondHalfOfYouData
            delegate: MouseArea {
                //Your item representation
            }
        }
    }
}

我不认为这适用于模型,因为所有对象都是动态创建的。更新了我的答案以反映如何使用中继器来动态数据谢谢,我能够使用它并使其正常工作。