2011-08-09 78 views
3

您好,我有以下简单的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" 
    } 
} 
} 

但是,当我尝试在模拟器中运行这个,这是移动列表时,共同的行为:

  1. 列表中的“部件1”的第一行被渲染过的TabBar甚至 在列表中的“元素2”,以XXX的状态栏
  2. 以下行呈现,这样 当他们完全超过了塔布渲染只有他们 消失。 (例如,“元素2”已经是不渲染,而是“元素3”呈现,因为它没有完全结束的的TabBar

为什么会这样 看到的图片任何想法? Rendering of items in ListView Emualtor

更新: 我加

anchors.fill: parent 

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

求助 clip:true需要添加到ListView中

回答

7

只需添加

clip: true 

到ListView

+0

是的,这是它。完善! – webaloman

0

您将listview锚定在页面内,而不是页面本身。您没有指定该页面应该在TabGroup中执行的操作。尝试将锚定添加到Page元素。

+0

我加入了锚状页​​面元素:anchors.fill:父,但仍是同样的问题 – webaloman