news 2026/6/11 1:10:48

Qt Quick 03|QML 常用基础控件:Button、Text、Image、Rectangle、ListView

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Qt Quick 03|QML 常用基础控件:Button、Text、Image、Rectangle、ListView

一、前置说明

本节使用Qt Quick 2.15+Qt Quick Controls 2控件库,需额外导入控件模块:

qml

import QtQuick.Controls 2.15

二、基础控件逐个讲解

1. Text 文本控件

展示文字,支持字体、颜色、换行、对齐:

qml

Text { text: "QML 文本控件\n第二行内容" font.pixelSize: 16 color: "#222222" horizontalAlignment: Text.AlignLeft wrapMode: Text.WordWrap // 自动换行 }
2. Rectangle 矩形容器

最常用布局容器,设置背景色、圆角、边框、阴影:

qml

Rectangle { width: 200 height: 100 color: "#f0f0f0" radius: 8 // 圆角 border.color: "#cccccc" border.width: 1 }
3. Image 图片控件

加载本地图片、资源图片,支持缩放模式:

qml

Image { source: "qrc:/images/logo.png" // 资源路径 fillMode: Image.PreserveAspectFit // 等比例缩放 width: 120 height: 80 }
4. Button 按钮控件(Qt Quick Controls)

自带点击状态、hover 状态,配合点击信号使用:

qml

Button { text: "点击按钮" width: 100 height: 35 onClicked: { console.log("按钮被点击") // 控制台打印日志 } }
5. ListView 列表视图(高频控件)

一维列表,由model(数据模型)+delegate(条目模板)组成,类似 QWidget 的 QListView。

qml

ListView { width: 200 height: 200 // 1. 数据模型 model: ListModel { ListElement { name: "列表项 1" } ListElement { name: "列表项 2" } ListElement { name: "列表项 3" } } // 2. 条目模板:每个条目长什么样 delegate: Rectangle { height: 40 color: index % 2 === 0 ? "#ffffff" : "#f8f8f8" Text { text: name // 绑定model中的字段 anchors.verticalCenter: parent.verticalCenter leftMargin: 10 } } }
  • index:内置变量,代表当前条目索引;
  • 数据字段名和ListElement内字段一一对应。

三、控件组合演示

将以上控件组合在一个窗口中,直观查看效果:

qml

import QtQuick 2.15 import QtQuick.Controls 2.15 Window { width: 400 height: 350 visible: true title: "常用控件组合" Column { anchors.centerIn: parent spacing: 10 Text { text: "QML 基础控件演示"; font.pixelSize: 18 } Button { text: "测试按钮" } ListView { width: 200; height: 150; /* 上方ListView代码 */ } } }

小结

Text/Image/Rectangle是静态基础元素,Button是交互控件,ListView用于批量列表数据展示,是 QML 界面开发的标配控件。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/11 1:07:05

Python 高手编程系列四百九十三:何时应该使用多线程

尽管有 GIL 限制,线程在某些情况下确实很有用。例如以下情况: • 构建响应式界面。 • 委派工作。 • 构建多用户应用程序。 构建响应式界面 假设你要求系统通过图形用户界面将文件从文件夹复制到另一个文件夹。任务可能被 推入到后台,并且界…

作者头像 李华
网站建设 2026/6/11 1:06:11

S12 CPMU COP看门狗深度解析:从原理到实战配置指南

1. 项目概述与核心价值在嵌入式系统,尤其是汽车电子和工业控制这类对可靠性要求极高的领域,系统死机或程序跑飞是绝对不能容忍的。想象一下,一辆高速行驶的汽车,其发动机控制单元(ECU)因为一个电磁干扰导致…

作者头像 李华
网站建设 2026/6/11 1:01:43

保密检查必备防拍照措施 国产化云桌面杜绝屏幕泄密隐患

每年党政机关、事业单位、国资企业的年度保密检查、涉密测评、合规自查工作中,屏幕偷拍泄密、云端数据违规外泄已成为高频扣分重灾区。随着国产化替代工程全面落地,麒麟、统信UOS系统搭载的涉密云电脑、国产化云桌面全面普及,涉密数据统一上云…

作者头像 李华
网站建设 2026/6/10 23:58:57

DVMSLAM中的sim3变换

DVM-SLAM 中的 Sim(3) 变换:从地图合并到持续对齐核心结论:Sim(3) 是 DVM-SLAM 解决“单目多机器人坐标系不一致”的几何工具,它负责把不同 agent 的地图从各自 world frame 对齐到同一个 group frame。1. 一句话解释 Sim(3) 在 DVM-SLAM 中&…

作者头像 李华
网站建设 2026/6/10 23:57:57

大模型API聚合平台技术架构深度对比:六大平台协议转换、路由调度与安全治理全解析 - 微元算力(weytoken)

摘要:大模型从研发走向生产,异构API协议、离散鉴权体系和不透明的计费标准成为企业集成的核心痛点。API聚合平台通过构建标准化中间层网关,将全球各异的模型能力抽象为统一接口。本文从协议抽象、路由调度、安全治理、可观测性四个技术维度&a…

作者头像 李华