Qt Quick 工程创建

发布时间 2023-10-19 12:13:59作者: 浇筑菜鸟

一、简介

Qt Quick是Qt框架中的一个模块,用于创建现代、响应式的用户界面。它基于QML(Qt Meta-Object Language)语言和Qt Quick Controls库,提供了一种声明性的方式来构建用户界面。

Qt Quick的主要特点包括:

  1. QML语言:QML是一种基于JavaScript的声明性语言,用于描述用户界面的结构和行为。它提供了一种简洁、可读性强的语法,使得开发者可以轻松地创建和修改用户界面。

  2. 响应式布局:Qt Quick支持响应式布局,可以根据窗口大小和设备屏幕的变化自动调整界面布局。这使得应用程序可以适应不同的屏幕尺寸和方向,提供更好的用户体验。

  3. 动画和过渡效果:Qt Quick提供了丰富的动画和过渡效果,可以为用户界面添加交互性和吸引力。开发者可以使用内置的动画类型,也可以自定义动画效果。

  4. Qt Quick Controls:Qt Quick Controls是一个预定义的控件库,提供了常见的用户界面元素,如按钮、文本框、列表等。这些控件具有现代化的外观和交互方式,可以快速构建功能完善的用户界面。

  5. C++ 与QML的集成:Qt Quick允许在C++ 和QML之间进行无缝的集成。开发者可以使用C++ 编写业务逻辑和底层功能,然后在QML中使用这些功能。通过信号和槽机制、属性绑定等方式,可以实现C++ 与QML之间的数据交互。

Qt Quick是一个强大而灵活的工具,可以帮助开发者快速构建现代化的用户界面。它广泛应用于桌面应用程序、移动应用程序、嵌入式系统等领域。

二、详细信息

QT :5.14.2
QTCreator 4.12.2
GCC:5.3.1

三、工程创建

  1. 新建项目

  2. 选择项目路径

  3. 选择构建方式

  4. 选择编译器

  5. 完成

四、main.cpp

注意: Qt Quick 的mian函数有点区别,加载UI的方式不同,程序如下

#include <QGuiApplication>
#include <QQmlApplicationEngine>

int 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();
}