一、描述
GridView 继承自 Flickable。用作显示来自内置 QML 类型(如 ListModel 和 XmlListModel)或从 QAbstractListModel 继承的 C++ 中定义的自定义模型类创建的模型中的数据。
二、使用示例
import QtQuick 2.12
import QtQuick.Window 2.0
Window
{
id:root;
visible: true;
width: 200; height: 200
ListModel
{
id:model
ListElement{name: "张三";number: "555 3264"}
ListElement{name: "李四";number: "555 8426"}
ListElement{name: "王五";number: "555 0473"}
}
GridView
{
anchors.fill: parent
model: model
delegate: Column
{
Image { source: "qrc:/img/shanye.png"; width: 50;height: 50 }
Text { text: name; anchors.horizontalCenter: parent.horizontalCenter }
}
highlight: Rectangle { color: "lightsteelblue"; radius: 5 }
focus: true
}
}
三、布局
GridView 中项目的布局可以由这些属性控制:
- flow:控制项目是从左到右(作为一系列行)还是从上到下(作为一系列列)流动。
- layoutDirection:控制水平布局方向,即项目是否从视图的左侧布局到右侧,反之亦然。
- VerticalLayoutDirection:控制垂直布局方向,即项目是否从视图顶部向下向视图底部布局,反之亦然。
可以组合这些属性以生成各种布局。
四、属性成员
1、cellHeight : real
cellWidth : real
这些属性保存网格中每个单元格的宽度和高度。默认单元格大小为 100x100。
2、flow : enumeration
此属性保存网格的流动方向。
- GridView.FlowLeftToRight:默认,项目从左到右排列,视图垂直滚动。
- GridView.FlowTopToBottom:项目从上到下排列,视图水平滚动。
五、成员函数
1、moveCurrentIndexDown()
moveCurrentIndexLeft()
moveCurrentIndexUp()
moveCurrentIndexRight()
在视图中将 currentIndex 向下 / 向左 / 向上 / 向右移动一项。如果 keyNavigationWraps 为 true 并且当前位于末尾,则当前索引将换行。如果 count 为零,则此方法无效。只能在组件完成后调用。
其他属性、信号、函数见 ListView 。