Qt学习Qt

说说QtQuick提供的类型

2017-06-10  本文已影响81人  b0542f6c4d28

Qt Quick 提供了标准qml类型,可视化类型,动画类型以及其他qml类型。

标准qml类型

官网的介绍原文请戳这里

类型 解释 写法
bool Binary true/false value
double Number with a decimal point, stored in double precision
enumeration Named enumeration value e.g:Text.AlignRight
int Whole number, e.g. 0, 10, or -20
list List of QML objects [ ]
real Number with a decimal point
string Free form text string
url Resource locator 和字符串一样
var Generic property type

为什么有一个url类型呢?我觉得除了语义化,专属于资源定位符外,还有一个好处是写资源路径的时候IDE可以自动提示。

类型 解释 写法
date Date value "YYYY-MM-DD" string
point Value with x and y attributes "x,y" string
rect Value with x, y, width and height attributes "x, y, width x height" string
size Value with width and height attributes "width x height" string
color ARGB color value. The color type refers to an ARGB color value. It can be specified in a number of ways: SVG color name;十六进制三元组或四元组;Qt.rgba(), Qt.hsva(), Qt.hsla(), Qt.darker(), Qt.lighter() or Qt.tint()
font Font value with the properties of QFont. The font type refers to a font value with the properties of QFont。(居然是一个对象)
matrix4x4 A matrix4x4 type is a 4-row and 4-column matrix Qt.matrix4x4(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);
quaternion A quaternion type has scalar, x, y, and z attributes "scalar,x,y,z" string
vector2d A vector2d type has x and y attributes "x,y" string
vector3d Value with x, y, and z attributes "x,y,z" string
vector4d A vector4d type has x, y, z and w attributes "x,y,z,w" string

我没有想到qml模块会提供这么些基本类型,在我的印象中,这些都不是对象么?

可视化类型

先放一张Item子类的图

Item子类

当然还有Qt Quick Controls 2

Control

有部分是继承Popup

Popup

顶级窗口ApplicationWindow又是另外一套

window

关于这部分控件,我在开发的时候做过一些记录。
ApplicationWindow,最具体的qml主窗口

Page是可以变换样式的控件

Control是提供共同函数的控件

Lable是跟随系统字体和颜色的控件

Text是自定义文本

代理就是一个模具

Item可以和ItemDelegate融合在一起,Rectangle不行

FocusScope显示提供一块焦点区域

StackView基于栈的视图

QtQuickControls 1.4和2.2不一样

Pane背景色与应用程序的样式和主题一样

Page可以遮住后面的

Rectangle背景有颜色,有可选边框

ColumnLayout就是GridLayout的特例

Page外部的点击header感应不到

写在后面的组件比会覆盖前面的组件

动画类型

动画的继承图

可以看到qml对动画的支持还是非常好的。

在开发中我遇到过Pane和Page不支持动画,原因不清楚。

其他qml类型

这个其他类型是什么类型呢?信号槽连接的那个算不算?其他类型就是不是上面的三种类型。

上一篇下一篇

猜你喜欢

热点阅读