赞
踩
参考引用
QML 是一种用户界面规范和标记语言,它允许开发人员创建高性能、流畅的动画和具有视觉吸引力的应用程序
Qt Quick 是 QML 类型和功能的标准库,它包括视觉类型、交互类型、动画、模型和视图、粒子效果和着色效果(可以使用 import 语句访问所有这些功能)
总之,GUI 模块是 Qt Quick,QML 是标记语言,它包含一个 JavaScript 运行时来执行 JavaScript,还可以将 QML/JavaScript 代码与 C++ 代码集成在一起
语言编码
性能差异
UI 设计
#include <QGuiApplication> #include <QQmlApplicationEngine> int main(int argc, char *argv[]) { QGuiApplication app(argc, argv); // QQmlApplicationEngine engine; // const QUrl url(u"qrc:/helloworld/main.qml"_qs); // QObject::connect(&engine, &QQmlApplicationEngine::objectCreated, // &app, [url](QObject *obj, const QUrl &objUrl) { // if (!obj && url == objUrl) // QCoreApplication::exit(-1); // }, Qt::QueuedConnection); // engine.load(url); // 以上代码可以略写为 QQmlApplicationEngine engine; engine.load(QUrl("qrc:/helloworld/main.qml")); // 加载 QML 文件 //如果不想使用资源文件,也可以使用本地相对路径 //engine.load(QUrl::fromLocalFile("../helloworld/main.qml")); return app.exec(); }
QT += quick SOURCES += \ main.cpp # 新添加的 QML 文件需要添加到资源文件中 # 此处新建的 MyText.qml 其实就是自定义一个 MyText 类型 # MyText.qml 与 main.qml 放在一起,这样在 main.qml 中可以直接使用 MyText 类型 resources.files += main.qml \ MyText.qml resources.prefix = /$${TARGET} RESOURCES += resources \ images.qrc # Additional import path used to resolve QML modules in Qt Creator's code model QML_IMPORT_PATH = # Additional import path used to resolve QML modules just for Qt Quick Designer QML_DESIGNER_IMPORT_PATH = # Default rules for deployment. qnx: target.path = /tmp/$${TARGET}/bin else: unix:!android: target.path = /opt/$${TARGET}/bin !isEmpty(target.path): INSTALLS += target DISTFILES += \ MyText.qml RC_ICONS = icon.ico # 窗口 logo,icon.ico 文件与 .pro 文件位于同级目录
import QtQuick Window { width: 640 height: 480 visible: true // Window 默认不显示,此处需设置为 true title: qsTr("QML Test") Image { id: logo source: "qrc:/images/logo.png" anchors.centerIn: parent } MyText { anchors.top: logo.bottom anchors.horizontalCenter: logo.horizontalCenter } }
import QtQuick
Text {
text: qsTr("欢迎关注我的CSDN博客")
color: "green"
}
# D:\download\qml\helloworld 为项目所在路径
# D:\download\QMLApp 为欲发布打包的目录
windeployqt --qmldir D:\download\qml\helloworld D:\download\QMLApp
项目并没有编译,只是启动了 qml.exe 工具,单独的 QML 文件不需要进行编译就能直接进行预览
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。