如何使整个GridView行垂直展开

时间:2014-04-18 03:03:44

标签: c++ qt qml

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

使用标准GridView可以实现这一点,还是我必须创建自己的?我玩过cellHeight,但是这会改变每一行的高度,而不仅仅是当前行。

1 个答案:

答案 0 :(得分:1)

如果不使用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
            }
        }
    }
}