Qt 5学习(二)QML

1、QML基本语法

1.1 QML代码例子

import QtQuick 2.4
import QtTest 1.1

Rectangle {
    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 QtQuick
plugin qtquick2plugin
classname QtQuick2Plugin
typeinfo plugins.qmltypes
designersupported

2、类型系统

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

2.1 基本类型

表2-1 基本类型

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

表2-2 QtQuick基本类型

类型描述
colorargb颜色
fontQFont
matrix4x44x4的矩阵
quaternion四元数
vector2d二维向量
vector3d
vector4d
date日期
point
size
rect

2.2 属性改变行为

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

2.3 Javascript类型

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

import QtQuick 2.2
Item{
  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、总结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值