1.简述
qml中有比较基础的组件,也有扩展模块封装的高级组件。全部组件可以查看qt官方文档。qml的类暂时没有标准的叫法,有叫元素,也有叫组件、控件、类、项目。总之这都是一个意思。如果和C++类比,这就叫类。
qml官方提供了很多模块,import后即可使用。下面列出一些常用模块:
- QtQuick:包含 QML 的基础元素,例如 Rectangle、Text 和 Image 等。
- QtQuick.Controls:包含 QML 的预定义控件,例如 Button、ComboBox 和 Tabs 等。
- QtQuick.Layouts:包含 QML 的布局管理器,例如 Column、Row 和 Grid 等。
- QtQuick.Dialogs:包含 QML 的标准对话框,例如 MessageDialog 和 FileDialog 等。
- QtQuick.Window:包含 QML 的窗口类型,例如 Window 和 ApplicationWindow 等。
- QtQuick.Shapes:包含 QML 的图形元素,例如 Rectangle、Ellipse 和 Path 等。
可以如下引入:
import QtQuick.Controls 2.4
1.1 常用基础类
- Rectangle:矩形元素,可以用来显示矩形、圆角矩形,支持渐变、边框。
- Text:文本元素,可以用来显示普通文本、富文本或 HTML 文本。
- Image:图像元素,可以用来显示静态图像或动态图像,本地或网络图片。
- Item:项目元素,可以用来封装其他元素,提供通用的属性和行为。
- MouseArea:鼠标区域元素,可以用来监听鼠标事件。
- ListView:列表视图元素,可以用来显示长列表或网格数据。
- GridView:网格视图元素,可以用来显示网格数据。
- Repeater:重复器元素,可以用来重复创造元素。
- Loader:加载器元素,可以用来动态加载其他的 QML 文件。
- PropertyChanges:属性更改元素,可以用来动态修改一个元素的属性。
- Transition:过渡元素,可以用来定义界面元素的过渡效果。
- State:状态元素,可以用来定义界面元素的不同状态,并在状态切换时触发相应的动作。
1.2 常用控件类
QtQuick.Controls 是 QML 中的一个扩展库,通过import来导入模块使用。提供了一系列预定义的控件,可以用来构建复杂的用户界面。下面列出了 QtQuick.Controls 中的一些常用控件:
- Button:按钮控件,可以用来创建标准的按钮、图标按钮、单选框和复选框。
- ComboBox:组合框控件,可以用来创建下拉菜单。
- Slider:滑块控件,可以用来创建标准的滑块和圆形滑块。
- ProgressBar:进度条控件,可以用来显示进度值。
- SpinBox:数值输入框控件,可以用来输入整数值。
- TextField:文本输入框控件,可以用来输入单行文本。
- TextArea:文本域控件,可以用来输入多行文本。
- Tabs:标签页控件,可以用来创建标签页布局。
上面只是一些常用的控件,还有很多其他控件,可参考官方手册。