qml GridView问题

a358763471 2012-11-20 08:51:52
请教大家个问题。我用GridView绘制了一个两行三列的网格。我现在想让起始位置从第一行第二个开始显示,该如何设置?欢迎大家来交流、、、
...全文
319 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangduboy 2013-03-22
  • 打赏
  • 举报
回复
listview里面嵌套gridview后,进行翻页。怎么获取listview item的值,我需要识别显示当前翻到的页码(第几页),求大神解答?!3q!
xiachm 2012-11-20
  • 打赏
  • 举报
回复
可以拷贝一份嘛,像这样

import QtQuick 1.1

GridView {
    width: 360
    height: 600
    cellWidth: 120
    cellHeight: 120

    model: ListModel {
        id: targetModel
    }

    delegate: Rectangle {
        width: 100
        height: 100
        color: "red"
        visible: name != ""

        Text {
            anchors.centerIn: parent
            font.pixelSize: 30
            text: name
        }
    }

    XmlListModel {
        id: sourceModel

        ........

        onStatusChanged: {
            if (status == XmlListModel.Ready) {
                targetModel.clear()
                targetModel.append({"name": ""})
                for (var i = 0; i < sourceModel.count; i++) {
                    targetModel.append({"name": sourceModel.get(i).name})
                }
            }
        }
    }
}
a358763471 2012-11-20
  • 打赏
  • 举报
回复
又是你啊,呵呵 非常感谢你的回复。这个方法我也想过。可是有个问题。我的model是用的网络xml解析得到的,就是下面这个xmlModel: XmlListModel { id: xmlModel xml: xmlData query: "/data/weather" XmlRole { name: "date"; query: "date/string()" } XmlRole { name: "weatherCode"; query: "weatherCode/string()" } XmlRole { name: "tempMax"; query: "tempMaxC/string()" } XmlRole { name: "tempMin"; query: "tempMinC/string()" } XmlRole { name: "windspeed"; query: "windspeedKmph/string()" } XmlRole { name: "precip"; query: "precipMM/string()" } onStatusChanged: { if (status == XmlListModel.Ready/* && count > 0*/) { HttpRequest.sendHttpRequest(cityName); timer.start(); } } } 大侠这样怎么设置?
xiachm 2012-11-20
  • 打赏
  • 举报
回复
我想,可以在模型里加一个项,来空出第一个位置,代码大概像这样:

import QtQuick 1.1

GridView {
    width: 360
    height: 600
    cellWidth: 120
    cellHeight: 120

    model: ListModel {
        ListElement { name: "" }
        ListElement { name: "1" }
        ListElement { name: "2" }
        ListElement { name: "3" }
        ListElement { name: "4" }
        ListElement { name: "5" }
    }

    delegate: Rectangle {
        width: 100
        height: 100
        color: "red"
        visible: name != ""

        Text {
            anchors.centerIn: parent
            font.pixelSize: 30
            text: name
        }
    }
}

16,212

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧