在QML中渲染ListView项 – 模拟器

您好我有以下简单的QML应用程序:

import QtQuick 1.0
import com.nokia.symbian 1.0

Window {
   id: window

   StatusBar {
       id: statusBar
       anchors.top: window.top
   }

   TabBar {
       id: tabBar
       anchors.top: statusBar.bottom

    TabButton {
        id: someButton
        text: "Something"
        tab: somePage
    }
}

TabGroup {
    id: tabGroup
    anchors.top: tabBar.bottom
    anchors.bottom: toolBar.top
    anchors.left: parent.left
    anchors.right: parent.right
    Page {
        id: somePage
        ListView {
            id: someLView
            anchors.fill: parent
            model: someModel
            delegate:
                    Text {
                        text: name
                        color: "white"
                    }
        }
    }
}

ToolBar {
    id: toolBar
    anchors.bottom: window.bottom
    tools: ToolBarLayout {
        id: toolBarLayout
        ToolButton {
            flat: true
            iconSource: "toolbar-back"
            onClicked: Qt.quit()
        }
    }
}

ListModel {
    id: someModel
    ListElement {
        name: "Element1"
    }
    ListElement {
        name: "Element2"
    }
    ListElement {
        name: "Element3"
    }
    ListElement {
        name: "Element4"
    }
    ListElement {
        name: "Element5"
    }
    ListElement {
        name: "Element6"
    }
    ListElement {
        name: "Element7"
    }
    ListElement {
        name: "Element8"
    }
    ListElement {
        name: "Element9"
    }
    ListElement {
        name: "Element10"
    }
    ListElement {
        name: "Element11"
    }
    ListElement {
        name: "Element12"
    }
    ListElement {
        name: "Element13"
    }
    ListElement {
        name: "Element14"
    }
    ListElement {
        name: "Element15"
    }
    ListElement {
        name: "Element16"
    }
    ListElement {
        name: "Element17"
    }
    ListElement {
        name: "Element18"
    }
    ListElement {
        name: "Element19"
    }
    ListElement {
        name: "Element20"
    }
    ListElement {
        name: "Element21"
    }
    ListElement {
        name: "Element22"
    }
    ListElement {
        name: "Element23"
    }
}
}

但是当我尝试在模拟器上运行它时,这是移动列表时的常见行为:

>列表“Element1”的第一行甚至在TabBar上呈现
在StatusBar上
>列表中的“Element2”到xxx的以下行被渲染以便
当他们完全渲染TabBar然后他们
dissapear. (例如“Element2”已经没有渲染,但是“Element3”被渲染,因为它没有完全覆盖TabBar

任何想法为什么会这样?
看图:

更新:
我补充道

anchors.fill: parent

到页面元素,但这并没有解决问题

解决了
clip:true需要添加到ListView

最佳答案
只需添加

clip: true 

到ListView

转载注明原文:在QML中渲染ListView项 – 模拟器 - 代码日志