QML和Qt Quick
QML和Qt Quick的关系类似于C++和STL,QML是一种说明性语言,语法类似于CSS,而Qt Quick模块是用QML开发的的一套标准库,可以使用Qt Quick来快速开发QML应用。
实例
在QT中新建一个Qt Quick程序,main函数代码如下:
#include <QGuiApplication>
#include <QQmlApplicationEngine>
int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
QQmlApplicationEngine engine;
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
if (engine.rootObjects().isEmpty())
return -1;
return app.exec();
}
与之前的Qt Widget程序不同的是,这里加载了一个main.qml文件,而之前是一个widget窗体。
看看main.qml文件:
import QtQuick 2.6
import QtQuick.Window 2.2
Window {
visible: true
width: 640
height: 480
title: qsTr("Hello World")
Text{
text:qsTr("Hello Qt Quick")
anchors.centerIn:parent
}
}
从main.qml文档可以看出,一个QML文档由两部分组成:
1.import语句
import和C++中的#include,java中的import类似,导入一个模块,这是使用某种QML类型所必须的。打开帮助文档,搜索Text:发现要使用Text则必须导入QtQuick 2.7,Window也同样
2.QML对象树
在main.qml中,最外层的对象是Window,它也是整个应用程序的根对象,而Text则是Window的子对象,一个QML文档就对应一棵以根对象为根的对象树。