3

グリッドビューの上にテキストを表示するにはどうすればよいですか?次のコードを試しましたが、スクロールすると、gridview要素がテキストの上に表示されて非表示になります。gridviewの幅と高さを指定しましたが、gridview要素はスクロール時に境界を越えます。どんな助けでも大歓迎です。ありがとう 。

Rectangle {
width: 300; height: 400
color: "gray"

ListModel {
    id: appModel
    ListElement { name: "Music"; icon: "pics/AudioPlayer_48.png" }
    ListElement { name: "Movies"; icon: "pics/VideoPlayer_48.png" }
    ListElement { name: "Camera"; icon: "pics/Camera_48.png" }
    ListElement { name: "Calendar"; icon: "pics/DateBook_48.png" }
    ListElement { name: "Messaging"; icon: "pics/EMail_48.png" }
    ListElement { name: "Todo List"; icon: "pics/TodoList_48.png" }
    ListElement { name: "Contacts"; icon: "pics/AddressBook_48.png" }
}

Component {
    id: appDelegate

    Item {
        width: 100; height: 100

        Image {
            id: myIcon
            y: 20; anchors.horizontalCenter: parent.horizontalCenter
            source: icon
        }
        Text {
            anchors { top: myIcon.bottom; horizontalCenter: parent.horizontalCenter }
            text: name
        }
    }
}

Component {
    id: appHighlight
    Rectangle { width: 80; height: 80; color: "lightsteelblue" }
}
Text
{
    id:txt
    width: parent.width
    height: 100
    text: "8791561651"
}
GridView {
    anchors.top:txt.bottom
    height: 200
    width: parent.width
    cellWidth: 100; cellHeight: 100
    highlight: appHighlight
    focus: true
    model: appModel
    delegate: appDelegate
}
}
4

1 に答える 1

5

何を達成したいかに応じて、いくつかの方法を試すことができます。

  1. Gridviewのclipプロパティをtrueに設定します。これにより、ビューが他の要素の上に表示されなくなります。
  2. GridView要素の後にText要素を配置します。これにより、テキストがグリッドビューの上に表示されます。ただし、クリップを設定しない場合、グリッドビューアイテムはテキストアイテムの下に配置されます。
于 2012-11-08T13:58:09.723 に答える