Qt 在QML中显示Gridview上方的文本

Qt 在QML中显示Gridview上方的文本,qt,qml,Qt,Qml,如何在gridview上显示文本? 我尝试了以下代码,但在滚动时,gridview元素覆盖文本并隐藏它。尽管我指定了gridview的宽度和高度,但gridview元素在滚动时会跨越这些界限。感谢您的帮助。谢谢 Rectangle { width: 300; height: 400 color: "gray" ListModel { id: appModel ListElement { name: "Music"; icon: "pics/AudioPlayer_48.png"

如何在gridview上显示文本? 我尝试了以下代码,但在滚动时,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
}
}

根据您想要实现的目标,您可以尝试几种方法:

  • 将Gridview的clip属性设置为true。这将防止视图位于其他图元之上
  • 将文本元素放在GridView元素之后。这将确保文本位于Gridview的顶部。但是,如果不设置剪辑,gridview项目将位于文本项目下方