QML GridView 布局:网格排布与排列方向 发布时间:2026/11/10 6:25:58 目录基础网格演示代码排列方向演示代码三个方向属性工程下载GridView 和 ListView 的使用方式有点像通过model提供数据、delegate定义每一项的外观。区别在于 GridView 把所有项构建成二维网格横向、竖向两个方向都随意排列做应用宫格、相册缩略图、图片墙都很顺手。这篇先用最基础的写法展示 GridView 如何构建二维网格接着展示flow、layoutDirection、verticalLayoutDirection三个方向属性是什么效果。基础网格一组兴趣标签铺成网格每项占满一个固定大小的格子卡片之间留出间隙。演示代码import QtQuick import QtQuick.Controls import QtQuick.Layouts FadeInAnimation { ColumnLayout { anchors.fill: parent anchors.margins: 20 spacing: 15 // ... 省略标题组件 TitleSeparator ... // 内容卡片 Rectangle { Layout.fillWidth: true Layout.fillHeight: true color: #fafafa radius: 8 border.color: #e0e0e0 border.width: 1 GridView { id: grid anchors.fill: parent anchors.margins: 10 clip: true cellWidth: 80 cellHeight: 80 model: ListModel { ListElement { name: 音乐 } ListElement { name: 电影 } ListElement { name: 读书 } ListElement { name: 旅行 } ListElement { name: 摄影 } ListElement { name: 编程 } ListElement { name: 运动 } ListElement { name: 美食 } ListElement { name: 游戏 } ListElement { name: 绘画 } ListElement { name: 烘焙 } ListElement { name: 露营 } } // delegate 占满整个单元格内部卡片再留出间距 delegate: Item { required property int index required property string name width: grid.cellWidth height: grid.cellHeight Rectangle { anchors.fill: parent anchors.margins: 4 radius: 8 color: #FFFFFF border.color: #e0e0e0 border.width: 1 Column { anchors.centerIn: parent spacing: 4 Text { anchors.horizontalCenter: parent.horizontalCenter text: name color: #333 font.pointSize: 12 font.bold: true } Text { anchors.horizontalCenter: parent.horizontalCenter text: index 1 color: #999 font.pointSize: 9 } } } } } } // 状态提示 Text { Layout.fillWidth: true text: 共 grid.count 项 font.pointSize: 10 color: #666 } } }格子的大小由cellWidth和cellHeight决定delegate 的根元素把宽高直接绑到这两个值上就等于占满整个格子。卡片本身另套一层 Rectangle用 anchors.margins 留出 4px 间隙相邻两项才不会挤在一起。model 用 ListModel 描述每个ListElement定义一个 name 字段delegate 里用required property string name取出来。index是网格自动给每项编的位置从0开始这里加1后显示在名字下面方便对照顺序。count是只读属性直接读就是总项数底部那行统计就是这么来的。适用场景应用宫格入口、兴趣标签墙、图片缩略图总览。排列方向同样的网格用三个开关切换flow、layoutDirection、verticalLayoutDirection能拼出好几种排布。演示代码import QtQuick import QtQuick.Controls import QtQuick.Layouts FadeInAnimation { ColumnLayout { anchors.fill: parent anchors.margins: 20 spacing: 15 // ... 省略标题组件 TitleSeparator ... // 控制条 RowLayout { Layout.fillWidth: true spacing: 12 // flow 可选 FlowLeftToRight / FlowTopToBottom CheckBox { id: flowCheck text: 先竖排 font.pointSize: 10 } // layoutDirection 可选 LeftToRight / RightToLeft CheckBox { id: rtlCheck text: 水平反向 font.pointSize: 10 } // verticalLayoutDirection 可选 TopToBottom / BottomToTop CheckBox { id: bottomUpCheck text: 垂直反向 font.pointSize: 10 } Item { Layout.fillWidth: true } Text { text: 共 grid.count 项 font.pointSize: 10 color: #666 } } // 内容卡片 Rectangle { Layout.fillWidth: true Layout.fillHeight: true color: #fafafa radius: 8 border.color: #e0e0e0 border.width: 1 GridView { id: grid anchors.fill: parent anchors.margins: 10 clip: true cellWidth: 70 cellHeight: 60 flow: flowCheck.checked ? GridView.FlowTopToBottom : GridView.FlowLeftToRight layoutDirection: rtlCheck.checked ? Qt.RightToLeft : Qt.LeftToRight verticalLayoutDirection: bottomUpCheck.checked ? GridView.BottomToTop : GridView.TopToBottom model: 40 delegate: Item { required property int index width: grid.cellWidth height: grid.cellHeight Rectangle { anchors.fill: parent anchors.margins: 4 radius: 8 color: #FFFFFF border.color: #e0e0e0 border.width: 1 Text { anchors.centerIn: parent text: index 1 color: #333 font.pointSize: 12 font.bold: true } } } } } } }flow管主方向GridView.FlowLeftToRight 是默认值先横着排满一行再换下一行换成 GridView.FlowTopToBottom 后变成先竖着排满一列再排下一列滚动方向也跟着从纵向换成横向。layoutDirection 管水平方向切到 Qt.RightToLeft 时格子从右边开始摆放verticalLayoutDirection 管垂直方向GridView.BottomToTop 让内容从底部往上填。verticalLayoutDirection有个地方要留意它只有在内容超过一屏时才看得出来。内容没占满视图的时候BottomToTop 和 TopToBottom 显示得一模一样所以这个例子把项数放到了 40专门撑出纵向滚动勾上「垂直反向」才能看到内容从底部开始排。另外model这里直接写了数字 40是 GridView 的简写方式表示有 40 项delegate 里只能拿到index。三个方向属性属性控制什么取值flow先横排还是先竖排GridView.FlowLeftToRight/GridView.FlowTopToBottomlayoutDirection水平排列方向Qt.LeftToRight/Qt.RightToLeftverticalLayoutDirection垂直排列方向GridView.TopToBottom/GridView.BottomToTop工程下载我的 Qt 版本Qt 6.12操作系统Windows 11GitHubQML 示例合集V2.0 - qml_gridview 相关新闻 公司数据分析需求太多,IT 排期排不过来怎么办?先把需求分成 4 类,再决定哪类该自助 需求池压着几十条需求,做数据的就一两个人,排期排到下个月,业务那边天天催。这是中小企业里最常见的一个画面。加人是最先想到的解法,也是最容易落空的解法——人加进来,队列还是那一条,三个月后还回到原样… 2026/11/10 14:59:30 《驾驭你的AI同事:WorkBuddy深度精通》048:行业 Buddy 的构建与配置 《驾驭你的AI同事:WorkBuddy深度精通》048:行业 Buddy 应用的构建与配置 本文是《唤醒你的 AI 同事:WorkBuddy 全栈指南》系列 卷二(深度精通) 的第 48 篇。卷一讲过"行业 Buddy 怎么用"(入门);这一篇进入深度:它内部由什么组成、怎么构建与配置、怎么从&qu… 2026/11/9 12:06:37 Nginx企业实战 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … 2026/11/10 11:14:25 最新新闻 河北哪里可以考电工证在哪考学历不高也能报名 河北哪里可以考电工证在哪考学历不高也能报名 你是不是也担心学历不高报不了电工证?别担心,今天就给你讲明白【河北哪里可以考电工证】,还有【在哪考】的详细流程和避坑技巧,帮你一步到位搞定电工证! 为什么学历不高也能考电工证?… 2026/11/10 17:26:34 沧州想考电工证在哪里怎么转异地 郑州报考避坑指南 沧州想考电工证在哪里怎么转异地 郑州报考避坑指南 之前考的证在外省能不能转过来?这几乎是所有想在沧州考电工证或打算将外地证转过来的小伙伴最关心的问题。今天咱们就来聊聊,如果你在郑州或者其他地方考了电工证,如何顺利转到沧州使用,以及… 2026/11/10 17:26:34 玉环哪里有考试电工证 电工证全国通用怎么考 玉环哪里有考试电工证 电工证全国通用怎么考 你还在为找不到电工证考试地点发愁吗?别再等了, 急需特种作业证才能上岗找工作 ,尤其是现在电工证 全国通用… 2026/11/10 17:26:34 商水县电工证培训地点怎么找?工地太忙根本没时间复习考试 商水县电工证培训地点怎么找?工地太忙根本没时间复习考试 工地太忙根本没时间复习考试,这是很多一线电工朋友的痛点。尤其是像你在南阳项目上负责现场管理,每天盯进度、盯安全、盯质量,哪还有空去翻教材、刷题?但别忘了,你手里的 电子证书… 2026/11/10 17:26:34 电工证前途怎么样 通过率揭秘实操考试不挂科的干货 电工证前途怎么样 通过率揭秘实操考试不挂科的干货 实操考试心里没底怕挂科?很多电工朋友在报考特种作业操作证的时候,最担心的就是实操考试,一不小心就可能因为细节没注意而挂科,耽误时间和精力。尤其是像河南商丘这样的建筑工地,电工证几乎是刚需,但… 2026/11/10 17:26:34 别怕学历不高!安监局查询电工证也能考电子证书 别怕学历不高!安监局查询电工证也能考电子证书 你是不是也担心自己学历不高,报不了电工证?别急, 安监局查询电工证 的政策早就放宽了,现在只要你是年满18周岁、身体健康、具备初中及以上学历(或同等学历)的人员,都可以报考电工操作证。特别是现在… 2026/11/10 17:23:33 日新闻 电工证试题易知课堂官方回应实操考试心里没底怕挂科怎么办 电工证试题易知课堂官方回应实操考试心里没底怕挂科怎么办 实操考试心里没底怕挂科,这几乎是每个准备考电工证的人心里的“小疙瘩”。尤其是在河南,应届工程类毕业生刚迈出校门,面对就业市场时,一张含金量高的电工证,往往能成为他们敲门的“利器”。但问… 2026/11/10 0:00:53 建阳培训电工证怎么考?工地太忙根本没时间复习考试?上岗必备指南来了 建阳培训电工证怎么考?工地太忙根本没时间复习考试?上岗必备指南来了 工地太忙根本没时间复习考试,这是很多一线电工的真实写照。特别是像你这样刚接触行业的新手,面对建阳培训电工证的考试要求,难免感到焦虑。别担心,本文从开封初次报考人员的视角出发… 2026/11/10 0:00:53 厦门在 哪里考电工证合格标准与通过率 厦门在哪里考电工证官方回应实操考试心里没底怕挂科怎么办 你是不是正盯着电脑屏幕,心里一紧,想着“厦门在哪里考电工证”这个问题,担心自己实操考试挂科?别急,咱们先来聊点实在的,也别被网上那些乱七八糟的“保过班”忽悠了。实操考试不是靠运气,而是… 2026/11/10 0:00:53 周新闻 电工证内类别填什么好怎么报名别再交冤枉钱了 电工证内类别填什么好怎么报名别再交冤枉钱了 怕考不过白交培训费?别再踩坑!选对电工证内类别填什么好,才是报名的第一步,也是最关键的一步。不少学员就是因为选错类别,导致报名无效、考试不通过,最后培训费打水漂。今天就带你搞懂电工证内类别到底怎么… 2026/11/10 1:35:11 高级电工证在哪补办?2026河南最新政策全知道 高级电工证在哪补办?2026河南最新政策全知道 你是不是也这样,拿着高级电工证,却不知道 高级电工证在哪补办 ?怕被中介骗钱、怕流程复杂、怕耽误工作?2026河南最新政策已经出台,很多人还在为补办流程发愁。今天就给你讲清楚,… 2026/11/10 11:29:41 贵阳的电工证在哪报名?官方报名入口来了,别怕考不过白交钱 贵阳的电工证在哪报名?官方报名入口来了,别怕考不过白交钱 怕考不过白交培训费?贵阳的电工证在哪报名?这事儿真不能马虎。现在越来越多的工种要求持证上岗,尤其是电工证,不光是进入工地、维修场所的“通行证”,更是不少贵阳人谋生的“底气”。不过,很… 2026/11/10 12:49:40 月新闻 DRV8818+MK20DX128步进电机驱动方案:从电路到固件实战 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … 2026/11/10 2:15:55 DRV8818PWPR+PIC18LF46K40双极步进电机驱动实战指南 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … 2026/11/10 2:15:56 DRV8818PWPR与MK20DX128VFM5工业级双极步进控制协同设计 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … 2026/11/10 2:15:57
公司数据分析需求太多,IT 排期排不过来怎么办?先把需求分成 4 类,再决定哪类该自助 需求池压着几十条需求,做数据的就一两个人,排期排到下个月,业务那边天天催。这是中小企业里最常见的一个画面。加人是最先想到的解法,也是最容易落空的解法——人加进来,队列还是那一条,三个月后还回到原样… 2026/11/10 14:59:30
《驾驭你的AI同事:WorkBuddy深度精通》048:行业 Buddy 的构建与配置 《驾驭你的AI同事:WorkBuddy深度精通》048:行业 Buddy 应用的构建与配置 本文是《唤醒你的 AI 同事:WorkBuddy 全栈指南》系列 卷二(深度精通) 的第 48 篇。卷一讲过"行业 Buddy 怎么用"(入门);这一篇进入深度:它内部由什么组成、怎么构建与配置、怎么从&qu… 2026/11/9 12:06:37
Nginx企业实战 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … 2026/11/10 11:14:25
河北哪里可以考电工证在哪考学历不高也能报名 河北哪里可以考电工证在哪考学历不高也能报名 你是不是也担心学历不高报不了电工证?别担心,今天就给你讲明白【河北哪里可以考电工证】,还有【在哪考】的详细流程和避坑技巧,帮你一步到位搞定电工证! 为什么学历不高也能考电工证?… 2026/11/10 17:26:34
沧州想考电工证在哪里怎么转异地 郑州报考避坑指南 沧州想考电工证在哪里怎么转异地 郑州报考避坑指南 之前考的证在外省能不能转过来?这几乎是所有想在沧州考电工证或打算将外地证转过来的小伙伴最关心的问题。今天咱们就来聊聊,如果你在郑州或者其他地方考了电工证,如何顺利转到沧州使用,以及… 2026/11/10 17:26:34
玉环哪里有考试电工证 电工证全国通用怎么考 玉环哪里有考试电工证 电工证全国通用怎么考 你还在为找不到电工证考试地点发愁吗?别再等了, 急需特种作业证才能上岗找工作 ,尤其是现在电工证 全国通用… 2026/11/10 17:26:34
商水县电工证培训地点怎么找?工地太忙根本没时间复习考试 商水县电工证培训地点怎么找?工地太忙根本没时间复习考试 工地太忙根本没时间复习考试,这是很多一线电工朋友的痛点。尤其是像你在南阳项目上负责现场管理,每天盯进度、盯安全、盯质量,哪还有空去翻教材、刷题?但别忘了,你手里的 电子证书… 2026/11/10 17:26:34
电工证前途怎么样 通过率揭秘实操考试不挂科的干货 电工证前途怎么样 通过率揭秘实操考试不挂科的干货 实操考试心里没底怕挂科?很多电工朋友在报考特种作业操作证的时候,最担心的就是实操考试,一不小心就可能因为细节没注意而挂科,耽误时间和精力。尤其是像河南商丘这样的建筑工地,电工证几乎是刚需,但… 2026/11/10 17:26:34
别怕学历不高!安监局查询电工证也能考电子证书 别怕学历不高!安监局查询电工证也能考电子证书 你是不是也担心自己学历不高,报不了电工证?别急, 安监局查询电工证 的政策早就放宽了,现在只要你是年满18周岁、身体健康、具备初中及以上学历(或同等学历)的人员,都可以报考电工操作证。特别是现在… 2026/11/10 17:23:33
电工证试题易知课堂官方回应实操考试心里没底怕挂科怎么办 电工证试题易知课堂官方回应实操考试心里没底怕挂科怎么办 实操考试心里没底怕挂科,这几乎是每个准备考电工证的人心里的“小疙瘩”。尤其是在河南,应届工程类毕业生刚迈出校门,面对就业市场时,一张含金量高的电工证,往往能成为他们敲门的“利器”。但问… 2026/11/10 0:00:53
建阳培训电工证怎么考?工地太忙根本没时间复习考试?上岗必备指南来了 建阳培训电工证怎么考?工地太忙根本没时间复习考试?上岗必备指南来了 工地太忙根本没时间复习考试,这是很多一线电工的真实写照。特别是像你这样刚接触行业的新手,面对建阳培训电工证的考试要求,难免感到焦虑。别担心,本文从开封初次报考人员的视角出发… 2026/11/10 0:00:53
厦门在 哪里考电工证合格标准与通过率 厦门在哪里考电工证官方回应实操考试心里没底怕挂科怎么办 你是不是正盯着电脑屏幕,心里一紧,想着“厦门在哪里考电工证”这个问题,担心自己实操考试挂科?别急,咱们先来聊点实在的,也别被网上那些乱七八糟的“保过班”忽悠了。实操考试不是靠运气,而是… 2026/11/10 0:00:53
电工证内类别填什么好怎么报名别再交冤枉钱了 电工证内类别填什么好怎么报名别再交冤枉钱了 怕考不过白交培训费?别再踩坑!选对电工证内类别填什么好,才是报名的第一步,也是最关键的一步。不少学员就是因为选错类别,导致报名无效、考试不通过,最后培训费打水漂。今天就带你搞懂电工证内类别到底怎么… 2026/11/10 1:35:11
高级电工证在哪补办?2026河南最新政策全知道 高级电工证在哪补办?2026河南最新政策全知道 你是不是也这样,拿着高级电工证,却不知道 高级电工证在哪补办 ?怕被中介骗钱、怕流程复杂、怕耽误工作?2026河南最新政策已经出台,很多人还在为补办流程发愁。今天就给你讲清楚,… 2026/11/10 11:29:41
贵阳的电工证在哪报名?官方报名入口来了,别怕考不过白交钱 贵阳的电工证在哪报名?官方报名入口来了,别怕考不过白交钱 怕考不过白交培训费?贵阳的电工证在哪报名?这事儿真不能马虎。现在越来越多的工种要求持证上岗,尤其是电工证,不光是进入工地、维修场所的“通行证”,更是不少贵阳人谋生的“底气”。不过,很… 2026/11/10 12:49:40
DRV8818+MK20DX128步进电机驱动方案:从电路到固件实战 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … 2026/11/10 2:15:55
DRV8818PWPR+PIC18LF46K40双极步进电机驱动实战指南 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … 2026/11/10 2:15:56
DRV8818PWPR与MK20DX128VFM5工业级双极步进控制协同设计 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … 2026/11/10 2:15:57