2011-08-09 76 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