1、Qml的项目创建



2、第一个qml程序编写
首先main.cpp中的内容:
#include <QGuiApplication>
#include <QQmlApplicationEngine>
int main(int argc, char *argv[])
{
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
#endif
QGuiApplication app(argc, argv);
//创建引擎(解析QML文件;创建QML里的根对象、管理QML组件生命周期)
QQmlApplicationEngine engine;
const QUrl url(QStringLiteral("qrc:/main.qml"));
QObject::connect(
&engine, //信号发送者
&QQmlApplicationEngine::objectCreated, //当QML对象创建完成时发出的信号
&app,
//下面这段是lambda回调
/*
[url] 把外部的 url 变量"抓"进 lambda 内部使用
(QObject *obj, const QUrl &objUrl) 接收信号传来的两个参数
*/
[url](QObject *obj, const QUrl &objUrl) {
if (!obj && url == objUrl)
QCoreApplication::exit(-1);
},
Qt::QueuedConnection);
engine.load(url);
return QCoreApplication::exec();
}
其次,main.qml分为import语句与对象树
3、QML对象树
-
每个qml文件都有一个根元素,一个父元素可以有多个子元素,子元素可以通过parent关键字访问父元素
-
每个元素下面都拥有属性,按照name:value方式赋值