行业网站作用,施工企业财务工作总结及工作计划,东莞市建设工程质量监督网站,wordpress手机站通过前面四篇对QML已经有了基本的了解#xff0c;今天先尝试做出第一个单页面的桌面应用程序。 1.首先打开Qt,创建项目#xff0c;选择“QtQuick Application - Empty” 空工程。 2.设置项目名称和项目代码存储路径 3.这里要注意选择你的编译器类型#xff0c;以及输出的程…通过前面四篇对QML已经有了基本的了解今天先尝试做出第一个单页面的桌面应用程序。 1.首先打开Qt,创建项目选择“QtQuick Application - Empty” 空工程。 2.设置项目名称和项目代码存储路径 3.这里要注意选择你的编译器类型以及输出的程序时32位还是64位。 4.然后一路下一步生成项目框架这时候发现项目工程中生成了这些文件 “TestItem.pro”是项目的工程文件 “main.cpp”是主main的cpp文件; “qml.qrc”其实算是资源文件以后添加图片什么的也可以直接修改这个文件 “main.qml”就是设计界面的QML文件
5.先直接编译尝试可以直接编译通过并且能Run运行程序真是一个空的窗体
6.虽然你编译能通过但打开“main.qml”发现第二行提示导入模块报错“QML module not found (QtQuick.window)” 这种情况通常是由于QML_IMPORT_PATH没有设置好。在电脑的系统环境变量里添加或者直接在项目的pro文件中添加如下所示 7.为“QML_IMPORT_PATH”添加Qt安装时实际的qml的安装路径 添加完成后回过头来看“main.qml”的报错提示已经消失了。 至此我们没有写一行代码完成了一个空工程主要是为了验证我们的开发环境确保开发环境正常。
我们先简单解读一下main.cpp文件
#include QGuiApplication
#include QQmlApplicationEngineint main(int argc, char *argv[])
{QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);QGuiApplication app(argc, argv);QQmlApplicationEngine engine;const QUrl url(QStringLiteral(qrc:/main.qml));QObject::connect(engine, QQmlApplicationEngine::objectCreated,app, [url](QObject *obj, const QUrl objUrl) {if (!obj url objUrl)QCoreApplication::exit(-1);}, Qt::QueuedConnection);engine.load(url);return app.exec();
}在代码中第二行包含头文件“#include ”。QQmlApplicationEngine 是 Qt 框架中用于加载 QML 应用程序的一个类它是 QQmlEngine 的一个子类。它提供了一种方便的方式来加载和运行 QML 应用程序这里就是为了加载和运行 QML 应用程序。 所以在main()函数中创建了“QQmlApplicationEngine ”对象“engine”。调用“engine.load”方法来加载qml设计的界面以及连接engine对象的objectCreated信号用以退出程序。
接下来要做一些简单的页面只需修改“main.qml”文件我们尝试添加一些元素。 1改掉标题 2加一个矩形 3添加一行文字
4添加一个按钮 出现错误提醒Unknown component.(M300)这是由于没有引入“QtQuick.Controls”import导入该模块后即正常。 Ok按钮和文字都能展示出来一个QML的程序演示完成但这代码里边存在的几个问题比如设置的按钮位置显示不对在下一篇文章中详细研究这些具体界面开发的问题。