QML学习线路、QML学习 前言

2,006 阅读3分钟

Qt 开发 QML 全网最新入门指南

本篇文章仅在掘金上发表、更新

2023年8月5日 更新

​ 这篇文章是我第一篇能拿得出手的文章,虽然早已不做 Qt 客户端相关的业务,我还是很感激那时候帮助过我的大佬们。

​ 本次更新修改仅局限于文章的可读性,相关资料链接都能正常访问

🍳如何定义QML的入门?

​ QML 作为一门声明式语言,核心就是【Javascript】和【元素】。由于纸面资料丰富,【元素】部分基本就是在建立了基本元素功能框架的情况下,有效查找文档。而【Javascript】部分就是要了解 QML 对象能提供什么函数方法,这部分查文档即可。相关函数的例子可以在优质的博客或 stackoverflow 回答找到。

本篇文章只是资源的整合搬运和分享入门理解,如果您客户端业务经验为 0,小编斗胆建议您跟着视频走一会

👉视频?文档?入门该看什么资源?

​ 如果您使用过 QWT 开发应用或 .net 家的 Winform,就会发现网上能的大多数入门教程都是拿 Rectangle 元素举例的,这个元素就是画一个带有各种属性的矩形,如果有小伙伴急于了解的顶部栏、底栏、停靠栏怎么用,所以建议那部分小伙伴先阅读官方文档:QML入门,然后再看KDAB的视频教程

👟学习体验

​ 刚开始接触 QML,学习体验并不好,没什么文章指明 QML 学习路径,两周时间东拼西凑,一做东西发现还是不会,只好乖乖地回头刷完 KDAB 的视频和源码。

​ KDAB 源码对我开发 QML 启发极大,虽然 KDAB 源码存在版本问题,但搜索一下相关的英文总能知道最新版的应用是什么。

​ ⛔这里要注意,KDAB源码不能打开pro工程就直接运行,需要工具:qmlsence,

​ 大概位置在:工具——外部工具——QtQuick——qmlsence,能直接运行当前打开的QML文件

👉Qt文档怎么看?重点是什么?

​ 【Methods】部分是Javascript能调用的函数

​ 【Properties】:属性。

有些元素的属性是非常少的,如果你遇到了一个很奇怪的属性设置,可以顺带查阅【Inherits】栏中的父类元素的属性。

​ 【Attached Signals】:

有继承但不显示的部分。
QML有点很智能,就是它的某些属性有着`on属性名首字母大写Change`这个处理事件,它的每个signal(包含自定义的signal)都有个`on信号首字母大写`这个处理事件,这点在一般的文档里面说都没说,但你一定要知道有这么一回事。

​ 【Example Usage】:

官方文档里面的例子都是上下承接的,永远不要忽略第一个例子的文件名称和具体定义,看例子,要上下结合看。
勤于翻阅这部分,它会说明在某些应用场景还有什么其他的元素的处于同一框架下