Qt 5学习(二)QML

来源:互联网 发布:德川家光 知乎 编辑:程序博客网 时间:2024/05/23 00:00

1、QML基本语法

1.1 QML代码例子

import QtQuick 2.4import QtTest 1.1Rectangle {    id: foo    width: 640; height: 480    color: "cyan"    TestCase {        name: "ItemTests"        id: test1        function test_color() {            compare(foo.color, "#00ffff")        }    }}

1.2 qml 语法讲解

包括导入语句、对象和属性、布局、注释、表达式

1.2.1 导入语句 

import 语句告诉引擎使用了哪些模块、javascript资源和组件目录。

import QtQuick 2.4 as MyModule
  • 导入模块
  • 导入目录
  • 导入目录清单 qmldir的文件

qmldir 文件

module QtQuickplugin qtquick2pluginclassname QtQuick2Plugintypeinfo plugins.qmltypesdesignersupported

2、类型系统

数据类型时qml文档的基础。QML支持c++ 常见类型。

2.1 基本类型

表2-1 基本类型

类型 描述 int bool real double string url 资源定位 list 列表 var 通用属性 enumeration 枚举

表2-2 QtQuick基本类型

类型 描述 color argb颜色 font QFont matrix4x4 4x4的矩阵 quaternion 四元数 vector2d 二维向量 vector3d vector4d date 日期 point size rect

2.2 属性改变行为

基本类型的属性没有属性改变信号,比如font 包括pixeSize,family,b 属性,但是它们没有信号,只有基类型font自身有信号。

2.3 Javascript类型

任何标准javascript类型都可以在QML中使用var 类型创建和存储。

import QtQuick 2.2Item{  property var theArray:new Array()//这里面使用了javascript的Array属性。}

2.4 对象类型

对象类型继承QtObject.后面会详细讲解使用方法。

3、对象特性

包括以下特性:id,property,signal,signal handler,method,附加属性和附加信号处理

3.1 id特性

id特性不是属性,而是一种特殊数据类型,不是字符串。

3.2 属性特性

属性时对象的一个特性,可以分配一个静态值,也可以绑定一个动态表达式。

4、集成Javascript

5、QML文档

6、QML模块

7、总结

0 0
原创粉丝点击