尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Slint GridLayout 详解:从基础到实战的网格布局指南

Slint GridLayout 详解:从基础到实战的网格布局指南
📅 发布时间:2026/7/5 15:16:13

Slint GridLayout 详解:从基础到实战的网格布局指南

  • 一、Slint GridLayout 详解
    • 1、📌 核心概念
    • 2、🧩 子元素放置
    • 3、⚙️ 响应式逻辑
    • 4、🧾属性详解
  • 二、代码示例
    • 1、示例代码
    • 2、效果展示

一、Slint GridLayout 详解

1、📌 核心概念

GridLayout是用于创建二维网格布局的容器组件,对标 HTML 中的 CSS Grid。它通过以下方式定义布局结构:

GridLayout { spacing: 5px; Row { Rectangle { background: red; } Rectangle { background: blue; } } Row { Rectangle { background: yellow; } Rectangle { background: green; } } }

2、🧩 子元素放置

通过colandrow属性控制子元素在网格中的位置:

export component Foo inherits Window { width: 200px; height: 150px; GridLayout { Rectangle { background: red; } Rectangle { background: blue; } Rectangle { background: yellow; row: 1; } Rectangle { background: green; } Rectangle { background: black; col: 2; row: 0; } } }

涉及的属性参数:

  • rowspan/colspan:跨越的行数/列数
  • col/row:旧版兼容写法(建议用新语法)

3、⚙️ 响应式逻辑

网格尺寸自适应规则:
实际宽度 = 列权重 ∑ 所有权重 × 容器总宽度 \text{实际宽度} = \frac{\text{列权重}}{\sum \text{所有权重}} \times \text{容器总宽度}实际宽度=∑所有权重列权重​×容器总宽度

4、🧾属性详解

属性详解
spacing布局中元素之间的距离。此单一值同时应用于水平和垂直间距。
spacing-horizontal水平间距
spacing-vertical垂直间距
padding网格结构周围的填充作为一个整体。此单个值应用于所有边。
padding-left左边距
padding-right右边距
padding-top顶边距
padding-bottom底边距
row该元素在网格中的行索引。除非已明确设置,否则设置此属性会将该元素的列重置为零。
col元素在网格中的列索引。设置此属性可覆盖顺序列分配(例如,跳过某一列)。
rowspan此元素应跨越的行数。
colspan此元素应跨越的列数。

二、代码示例

1、示例代码

import{AboutSlint,VerticalBox,LineEdit,HorizontalBox,Button,GroupBox,GridBox,ComboBox,Spinner,Slider,ListView,Palette,ProgressIndicator,CheckBox,Switch,StandardTableView,SpinBox}from"std-widgets.slint";export component GridDemo inherits Window{title:"Slint GridLayout 完整示例";width:800px;height:600px;// 主网格布局:3列 + 自动行,演示核心特性main-grid:=GridLayout{// ========== 1. 全局间距 & 内边距 ==========spacing:8px;// 单元格之间间距padding:10px;// 布局整体内边距// ========== 第1行:普通单元格(默认填满) ==========Rectangle{background:#e6f7ff;Text{text:"单元格 (1,1)";}}Rectangle{background:#f0f8ff;Text{text:"单元格 (1,2)";}}Rectangle{background:#f5fafe;Text{text:"单元格 (1,3)";}}// ========== 第2行:跨行 / 跨列 (核心特性) ==========Rectangle{background:#ffeaa7;colspan:2;// 横跨 2 列Text{text:"colspan=2 跨两列";}}Rectangle{background:#dfe6e9;rowspan:2;// 纵跨 2 行Text{text:"rowspan=2 跨两行";}}// ========== 第3行:承接上一行跨行位置 ==========Rectangle{background:#81ecec;Text{text:"单元格 (3,1)";}}Rectangle{background:#74b9ff;Text{text:"单元格 (3,2)";}}// ========== 第4行:对齐方式 + 最小尺寸 ==========Rectangle{background:#a29bfe;min-width:80px;min-height:40px;// 内部水平/垂直对齐Text{text:"左上对齐";horizontal-alignment:start;vertical-alignment:top;}}Rectangle{background:#fd79a8;Text{text:"居中对齐";horizontal-alignment:center;vertical-alignment:center;}}Rectangle{background:#00b894;Text{text:"右下对齐";horizontal-alignment:end;vertical-alignment:bottom;}}// ========== 第5行:混合原生控件 + 拉伸权重 ==========// row/column 权重:控制单元格拉伸比例Row{GridLayout{spacing:4px;Button{text:"按钮1";}CheckBox{text:"选项";}SpinBox{value:50;}}}}}

2、效果展示

相关新闻

  • 20万以内的领克07GT是否值得购买呢咋们来聊聊领克07GT这台车
  • (论文速读)REF-DDPM:一种新的基于DDPM的不平衡滚动轴承故障诊断数据增强方法
  • 【研发类-前端开发Skills】angular-ui-patterns 技能

最新新闻

  • 如何高效部署Qwen3-Coder-30B-A3B-Instruct:技术决策者的终极指南
  • WeChatMsg技术解析:从聊天记录提取到AI数据资产化的完整实现方案
  • 三步搞定国家中小学智慧教育平台电子课本下载:开源工具完全指南
  • Minecraft城市生成终极指南:用Arnis轻松打造真实世界景观
  • KeyDecoder:手机秒变专业钥匙解码器,Flutter+OpenCV实现高精度机械钥匙测量
  • 开源音源配置终极指南:5步实现多平台无损音乐免费聚合

日新闻

  • 基于YOLOv12的番茄成熟度智能检测系统开发
  • 终极RimWorld模组管理指南:用RimSort告别模组冲突烦恼
  • AI Agent框架开发:从理论到实践的完整指南

周新闻

  • 基于YOLOv12的番茄成熟度智能检测系统开发
  • 终极RimWorld模组管理指南:用RimSort告别模组冲突烦恼
  • AI Agent框架开发:从理论到实践的完整指南

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号