QT Quick初学笔记---第一篇

链接: QML Book中文版(QML Book In Chinese)

1、对Qt Quick的初步认识

Qt Quick是Qt5界面开发技术的统称,是以下几种技术的集合:

  1. QML:界面标记语言
  2. JavaScript:动态脚本语言
  3. QT C++:跨平台C++封装库

QML是与HTML类似的一种标记语言。

QML文件采用.qml作为文件格式后缀。作为一种标记语言(类似HTML)一个QML文档有且只有一个根元素

示例:

在这个例子中使用Image元素作为根元素,这个元素的宽度、高度与"images/background.png"图像相同。

import QtQuick 2.5Image{id:rootsource: "1.png"
}

QML中不限制根元素类型,在上面这段代码中我们设置了Image元素的source属性作为我们的背景图像,它也是我们的根元素。
在这里插入图片描述
注意:

  1. 每个元素都有属性。比如Image有width和height,也会有其他的属性如srouce。Image元素的尺寸会自动与source设置的图像匹配。想要自定义Image元素的尺寸必须显式的定义width和height的值。
  2. 大多数标准元素都在QtQuick模块中,通常我们在导入声明中首先包含这个模块。
  3. id是个特殊的属性,它可以作为一个标识符在当前文档内引用对应的元素。注意:id被定义后无法再改变,在程序执行期间也无法被赋值。

2、QT构建模块

QT5是由大量模块组成的。
Qt基础模块:强制性用来支持Qt平台的;
Qt附加模块:是可选的。

2.1、核心基础模块

  1. Qt Core:核心的非图形类,供其它模块使用。
  2. Qt GUI:图形用户界面(GUI)组件的基类,包括OpenGL。
  3. Qt Multimedia:音频,视频,电台,摄像头的功能类。
  4. Qt Network:简化方便的网络编程的类。
  5. Qt QML:QML类与JavaScript语言的支持。
  6. Qt Quick:可高度动态构建的自定义应用程序用户界面框架。
  7. Qt SQL:集成SQL数据库类。
  8. Qt Test:Qt应用程序与库的单元测试类。
  9. Qt WebKit:集成WebKit2的基础实现并且提供了新的QML应用程序接口。在附件模块中查看Qt WebKit Widgets可以获取更多的信息。
  10. Qt WebKit Widgets :Widgets 来自Qt4中集成WebKit1的窗口基础类。
  11. Qt Widgets:扩展Qt GUI模块的C++窗口类。

2.2、附加模块

  • Qt 3D :一组使3D编程更加方便的应用程序接口和声明。
  • Qt Bluetooth:在多平台上使用无线蓝牙技术的C++和QML应用程序接口。
  • Qt Contacts:提供访问联系人与联系人数据库的C++和QML应用程序接口。
  • Qt Location:提供了定位,地图,导航和位置搜索的C++与QML接口。使用NMEA在后端进行定位。(NMEA缩写,同时也是数据传输标准工业协会,在这里,实际上应为NMEA 0183。它是一套定义接收机输出的标准信息,有几种不同的格式,每种都是独立相关的ASCII格式,逗点隔开数据流,数据流长度从30-100字符不等,通常以每秒间隔选择输出,最常用的格式为”GGA”,它包含了定位时间,纬度,经度,高度,定位所用的卫星数,DOP值,差分状态和校正时段等,其他的有速度,跟踪,日期等。NMEA实际上已成为所有的GPS接收机和最通用的数据输出格式,同时它也被用于与GPS接收机接口的大多数的软件包里。)
  • Qt Publish and SubScribe:Qt发布与订阅
  • Qt Sensors:访问传感器的QML与C++接口。
  • Qt Service Framework:允许应用程序读取,操纵和订阅来改变通知信息。
  • Qt System Info :发布系统相关的信息和功能。
  • Qt Versit :支持电子名片与日历数据格式(iCalendar)。(iCalendar是“日历数据交换”的标准(RFC 2445)。 此标准有时指的是“iCal”,即苹果公司的出品的一款同名日历软件,这个软件也是此标准的一种实现方式。)
  • Qt Wayland:只用于Linux系统。包含了Qt合成器应用程序接口(server),和Wayland平台插件(clients)。
  • Qt Feedback :反馈用户的触摸和声音操作。
  • Qt JSON DB:对于Qt的一个不使用SQL对象存储。

3、HelloWprld

import QtQuick 2.5Rectangle{width: 360height: 360Text {anchors.centerIn: parenttext: "Hello world"}MouseArea {anchors.fill: parentonClicked: {Qt.quit();}}
}

这个代码指定了显示一个360乘以360像素的一个矩形,矩形中间有一个“Hello World”的文本。鼠标区域覆盖了整个矩形,当用户点击它时,程序就会退出。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/22454.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenCV 入门教程:中值滤波和双边滤波

OpenCV 入门教程:中值滤波和双边滤波 导语一、中值滤波二、双边滤波三、示例应用3.1 图像去噪3.2 图像平滑 总结 导语 在图像处理和计算机视觉领域,中值滤波和双边滤波是两种常见的滤波方法,用于平滑图像、去除噪声等。 OpenCV 提供了中值滤…

抖音seo矩阵系统源码|需求文档编译说明(技术)

1.抖音seo矩阵系统文档开发流程 抖音SEO矩阵指的是一系列通过搜索引擎优化(SEO)技术和策略来提升抖音账号在搜索结果中排名的方法和工具。在抖音上,用户可以通过搜索关键词来查找与其相关的视频和账号。因此,抖音SEO矩阵的主要目…

大模型与端到端会成为城市自动驾驶新范式吗?

摘要: 最近可以明显看到或者感受到第一梯队的城市自动驾驶量产已经进入快车道,他们背后所依靠的正是当下最热的大模型和端到端的技术。 近期,城市自动驾驶量产在产品和技术上都出现了新的变化。 在产品层面,出现了记性行车或者称…

macOS 开发 - 纯代码生成 Window

文章目录 1、创建项目删除项目自带 window创建 BaseWindowController 继承自 NSWindowController子 WC 继承 BaseWC个人更喜欢纯代码:控制力、方便复制,不用卡卡的打开 xib 这里不使用各种项目自带的 storyboard/xib,使用纯代码创建 window(controller) 本示例代码将创建如下…

【Linux详解】——文件系统(磁盘结构、软硬链接、动静态库)

📖 前言:本期介绍文件系统。 目录 🕒 1. 磁盘结构🕘 1.1 物理结构🕘 1.2 存储结构🕘 1.3 逻辑结构 🕒 2. 文件系统🕘 2.1 对 IO 单位的优化🕘 2.2 磁盘分区与分组&#x…

揭秘GPT-4;Adobe Firefly AI 扩大测试规模

🦉 AI新闻 🚀 Adobe Firefly AI 扩大测试规模,支持100多种语言的输入 摘要:Adobe宣布扩大测试规模,Adobe Firefly AI现在支持100多种语言的 prompts 输入。网页测试版Firefly已经扩充了罗马尼亚语等多种语言&#xf…

最新华为鸿蒙4.0安装谷歌服务框架,安装Play商店,谷歌Google,GMS

最近华为推出了最新鸿蒙4.0开发者Beta版本,让用户测试体验。那么测试体验的机器主要是最近发布的几款机器为P60,P60 Pro, mate50,mate50 pro等几款产品可以先期进行体验测试鸿蒙4.0,那么很多的用户在疑问我升级到鸿蒙4.0。是不是还是可以使用Google谷歌服…

HTML特性(attribute)和DOM属性(property)

文章目录 定义位置不同attributeproperty 范围不同属性映射行为区别数据类型不同大小写敏感区别相同属性返回值可能不同DOM 属性具有写保护 定义位置不同 attribute 是 HTML 标签上的某个属性,如 id、class、value 等以及自定义属性,定义后会呈现在标签上 proper…

内存泄露?腾讯工程师2个压箱底的方法和工具

导读|遭受内存泄露往往是令开发者头疼的问题,传统分析工具 gdb、Valgrind在解决内存泄露问题上效率较低。本文特别邀请到了腾讯后台开发工程师邢孟棒以 TDSQL实际生产中mysql-proxy内存泄露问题作为分析对象,分享其基于动态追踪技术的通用内存…

《Ansible故障篇:ansible报错解决python依赖》

一、背景信息 如下报错:这个警告是提醒您当前的Ansible配置在目标主机上使用的是/usr/bin/python而不是建议的/usr/bin/python3,因为Ansible 2.9版本之前的某些版本默认使用早期的Python 2.x版本。然而,在将来的版本中,Ansible将会…

Mysql根据积分排名

积分表:t_participant_points 1、带并列 SELECT p.*, CASE WHEN prevRank p.total_points THEN curRank WHEN prevRank : p.total_points THEN curRank : curRank 1 END AS ranking FROM ( SELECT total_points …

MySQL主从复制(一主一从)

文章目录 MySQL主从复制(一主一从)什么是主从复制主从复制的原理主从复制的优点准备工作配置主数据库Master配置从数据库Slave测试 MySQL主从复制(一主一从) 什么是主从复制 MySQL主从复制是指数据可以从一个MySQL数据库服务器的主节点复制到一个或多个从节点。主节点记录了所…