Qt QML ListView页眉和页脚项目?

Qt QML ListView页眉和页脚项目?,qt,listview,qml,Qt,Listview,Qml,我想以类似于调用currentItem的方式访问QMLListView中的页眉和页脚项,以获取当前委托实例,但我不知道如何访问。如果您有任何建议,我将不胜感激。您应该将页眉/页脚项目分配给一些外部参考,如下所示: Window { property Item listHeaderItem: null Component { id: listHeaderComponent Item { id: headerItem width: listView.w

我想以类似于调用
currentItem
的方式访问QML
ListView
中的页眉和页脚项,以获取当前委托实例,但我不知道如何访问。如果您有任何建议,我将不胜感激。

您应该将页眉/页脚项目分配给一些外部参考,如下所示:

Window {
  property Item listHeaderItem: null
  Component {
    id: listHeaderComponent
    Item {
      id: headerItem
      width: listView.width; height: 0
      Component.onCompleted: rootWindow.listHeaderItem = headerItem
    }
  }
  ListView {
    header: listHeaderComponent
  }}

您可以访问函数中的页眉/页脚对象,如

        if(header)
        {
            var headerItem = header.createObject(null);
            // do stuff with headerItem
            headerItem.destroy();
        }
        if(footer)
        {
            var footerItem = footer.createObject(null);
            // do stuff with footerItem
            footerItem.destroy();
        }

有什么原因不能像访问
currentItem
属性那样访问和
footer
属性吗?你想达到什么目的?我想计算ListView内容的有效高度,包括动态页眉/页脚/委托。这似乎是一个有效的方法,如果有点不合适的话,因为每次使用ListView组件时都需要分配项。我添加了我的答案以显示我最终使用的方法。