QT中的QML元素

来源:互联网 发布:淘宝宝贝详情如何添加 编辑:程序博客网 时间:2024/05/19 03:23

QML

QML实现并且扩展了ECMAScript,是一种说明性语言,用来描述基于Qt对象系统的用户界面。QML提供了高可读、声明式的 、类CSS的语法,支持结合动态属性绑定的ECMAScript表达式。
Qt Quick模块是开发QML应用的标准库,提供了使用QML创建用户界面需要的一切东西,包含可视化类型、交互类型、动画、模型和视图、粒子特效与着色器

基本QML元素

Item:被其他QML元素继承的基本项Component:导入时封装了QML元素QtObject:仅容纳一个objectName属性的基本元素

图形

Rectangle:一个矩形元素Image:屏幕上的一个位图BorderImage:可以使用图片作为边缘AnimatedImage:未播放动画而存储的一系列帧Gradient:定义颜色渐变GradientStop:为gradient定义一个颜色SystemPalette:提供访问Qt调色板的接口

文件处理

Text:向屏幕上插入格式化 的文字
TextInput:获取用户键盘输入
TextEdit:显示多行可编辑的格式化文本
IntValidator:验证整数
DoubleValidator:验证实数
RegExpValidator:字符串正则表达式验证器
FontLoader:按照名称或URL加载字体

鼠标和交互区域

MouseArea:Keys:提供一个带有附加属性的组件用于处理键盘输入FocusScope:传递键盘焦点变化的元素Flickable:提供实现“flicked”弹性效果的表面组件Flipable:提供处理flipping(翻转)效果的表面组件PinchArea:简单的挤压手势处理 

定位器和重复器

Column:垂直排列子元素
Row:水平排列子元素
Grid:在网格中定位子元素
Flow:按坐标定位子元素
Repeater:使用一个模型创建多个组件

Transformations

Scale:设置item的缩放行为Rotation:设置item的选择行为Translate:设置item的移动行为

状态States

State:定义对象和属性的一系列配置值
PropertyChanges:描述状态中属性的变化
StateGroup:包含一系列的状态和状态变换
StateChangeScript:使脚本绑定到一个状态上
ParentChange:在状态改变时重定义item的父项
AnchorChanges:在状态中改变item的锚点

动画和过度

QML与QWidget比较

有3种不同结构的QWidget

不能作为父部件的简单部件(QLabel,QCheckBox,QToolButton)常作为其他部件的父部件(QGroupBox,QStackedWidget,QTabWidget)由子部件组成的组合部件(QComboBox,QSpinBox,QTabWidget)