QML学习之QML的基本类型 (入门)

QML基本类型

学习QML我们首先得弄明白,它有那些类型,支持C++常见的数据类型,包括整形,浮点型,字符串,布尔型,在QML中将这种仅指向简单的数据类型称为基本数据类型,比如int和string相对于,将可以包含的其他属性,能够具有的信号和函数等的类型称为对象类型,不同于对象类型,基本类型不能用来声明一个QML对象,比如int{}是不允许的,基本类型一般用于以下二种值:

  1. 单值:如int是一个单个数字,var可以是项目列表。
  2. 一个包含了一组简单的“属性一值“对的值,如size指定的值包含了width和height属性。

QML默认支持的基本数据类型

类型描述
bool布尔值 true/false
double双精度数字类型
enumeration枚举
int整型
listQML 对象列表
real实型(C++中 float)
string字符串类型
url资源定位器
var通用属性类型

QML模块提供的基本数据类型

类型描述
point具有 x 和 y 属性坐标值
rect具有 x,y,width,height属性的值
size具有 width 和 height 属性的值
colorARGB颜色值,可以用多种方法表示
fontQFont的QML类型,包含了QFont属性
matrix4x4一个4行4列的矩阵
quaternion一个四元数,包含一个标量以及x,y和z值属性
vector2d二维向量,包含x和y二个属性
vector3d三维向量,包含x,y,z这三个属性
vector4d四维向量,包含x,y,z和w这四个属性
date日期值

基本类型的属性变更行为

一些基本类型具有属性,例如 font类型具有pixelSize,family和bold特性。与对象类型的属性不同,基本类型的属性不提供它们自己的属性更改信号。只能为基本类型属性本身创建属性更改信号处理程序:

Text {
    // 这样写无效
    onFont.pixelSizeChanged: doSomething()

    // 这样也是无效
    font {
        onPixelSizeChanged: doSomething()
    }

    // 这样就可以
    onFontChanged: doSomething()
}

另外每当基本类型的一个特性改变时,该基本类型都会发射出自身的属性改变信号:

Text {
    onFontChanged: console.log("font changed")

    Text { id: otherText }

    focus: true

    //更改任何字体属性,或者将属性
    // 重新分配给不同的字体值,将调用onFontChanged处理程序Keys
    Keys.onDigit1Pressed: font.pixelSize += 1
    Keys.onDigit2Pressed: font.b = !font.b
    Keys.onDigit3Pressed: font = otherText.font
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值