【完结13章】C++ Qt6 QML入门进阶与项目实战视频教程
从 Qt 4.7 开始,Qt 引入了一种声明式脚本语言,称为 QML(Qt Meta Language 或者 Qt Modeling Language),作为 C++ 语言的一种替代。而 Qt Quick 就是使用 QML 构建的一套类库。 QML 是一种基于 JavaScript 的声明式语言。在 Qt 5 中, QML 有了长足进步,并且同 C++ 并列成为 Qt 的首选编程语言。也就是说,使用 Qt 5,我们不仅可以使用 C++ 开发 Qt 程序,而且可以使用 QML。虽然 QML 是解释型语言,性能要比 C++ 低一些,但是新版 QML 使用 V8,Qt 5.2 又引入了专为 QML 优化的 V4 引擎,使得其性能不再有明显降低。在 Nokia 发布 Qt 4.7 的时候,QML 被用于开发手机应用程序,全面支持触摸操作、流畅的动画效果等。但是在 Qt 5 中,QML 已经不仅限于开发手机应用,也可以用户开发传统的桌面程序。
QML 文档描述了一个对象树。QML 元素包含了其构造块、图形元素(矩形、图片等)和行为(例如动画、切换等)。这些 QML 元素按照一定的嵌套关系构成复杂的组件,供用户交互。
一个 QML 文档分为 import 和 declaration 两部分。前者用于引入文档中所需要的组件(有可能是类库,也可以是一个 JavaScript 文件或者另外的 QML 文件);后者用于声明本文档中的 QML 元素。
每一个 QML 有且只有一个根元素,类似于 XML 文档。这个根元素就是这个 QML 文档中定义的 QML 元素,在这个例子中就是一个 Window 对象。注意一下这个 QML 文档的具体语法,非常类似于 JSON 的定义,使用键值对的形式区分元素属性。
QML元素及常用属性。
1.Item
基础元素,是其他可视化元素的基类,定义了很多可视元素的共同属性,但是
Item本身不绘制。有必要记住以下属性:
最关键的id属性,用于标识元素。
x、y、width和height分别定义元素的左上角坐标x、左上角坐标y、宽和高。
(x,y,width,height组成一个矩形区域)。
z定义了元素的z轴方向的值,该值越大就表示元素在越上层。
anchors属性包含上、下、左、右、水平居中和垂直居中,用于定位元素与元素的位置。
scale属性用于设置元素的缩放,rotation属性用于设置元素旋转。
opacity属性定义元素的不透明度,visible属性定义元素是否可见。
2.Rectangle
矩形元素,相比Item多了边框和填充,还可以定义圆角半径。
color属性定义矩形的填充色,border.color定义边框颜色,border.width定义边框的宽度。
radius定义圆角半径。gradient可以定义渐变色。
3.Text
文本元素
和文字相关的两个关键属性,一个是文字的内容(text),另一个是字体(font)。font.family
定义字体名,font.pixelSize和font.pointSize定义字体大小,font.bold定义是否粗体。
Text元素的宽和高会根据文字的内容和字体初始化,所以通常可以不用写width和height属性。
4.Image
图像元素,可以用来显示图片。关键属性source用来设置图片的路径,fillMode定义图片
的填充模式(水平拉伸、垂直拉伸等等)。
5.MouseArea
鼠标区域,是一个不可见的元素。主要用它来捕捉鼠标事件。之前已经见过了。![QQ截图20241203150544.png](http://static.itsharecircle.com/241203/2fd35edf8a7fc5b8dc6019902222ad19.png)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码`
- 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传