Qt Quick 工程创建

2023-12-19

一、简介

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[])
{
    /* 启用Qt应用程序的高DPI缩放功能 */
    QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
 
    /* 创建一个Qt应用程序的实例 */
    QGuiApplication app(argc, argv);
 
    QQmlApplicationEngine engine;
    const QUrl url(QStringLiteral("qrc:/main.qml"));
    /* 将 QQmlApplicationEngine 对象的 objectCreated 信号连接到一个 lambda 函数上 */
    /* lambda 函数用于在 QML 文件中的根对象被创建时进行处理,检查对象是否成功创建,如果创建失败则退出应用程序 */
    QObject::connect(&engine, &QQmlApplicationEngine::objectCreated,
                     &app, [url](QObject *obj, const QUrl &objUrl) {
        if (!obj && url == objUrl)
            QCoreApplication::exit(-1);
    }, Qt::QueuedConnection);
    /* 加载QML文件并显示用户界面 */
    engine.load(url);
 
    return app.exec();
}

问题

  1. 引入 QML 时,提示 'QML module not found'
    解决办法
    此时需要在pro文件中加入对应的路径,如下
  2. QML_IMPORT_PATH =/opt/Qt5.12.9/5.12.9/gcc_64/qml也可以根据系统引入
  3. win32{
  4. QML_IMPORT_PATH += C:\Qt\Qt5.12.4\5.12.4\mingw73_64\qml
  5. }
  6. android{
  7. QML_IMPORT_PATH += C:\Qt\Qt5.12.4\5.12.4\android_armv7\qml
  8. }

本文福利, 费领取Qt开发学习资料包、技术视频,内容包括(Qt实战项目视频教程+代码,C++语言基础,C++设计模式,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QSS,OpenCV,Quick模块,面试题等等)↓↓↓↓↓↓见下面↓↓文章底部点击 费领取↓↓

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Qt Quick 工程创建 的相关文章

随机推荐

  • 智能家居管制是怎么回事,智能家居出现了新赛道?

    为增进大家对智能家居的认识 本文将对智能家居 智能家居的管制以及智能家居新赛道予以介绍 智能家居 是现在的发展主流之一 也可以说 智能家居是这个时代的主题 为增进大家对智能家居的认识 本文将对智能家居 智能家居的管制以及智能家居新赛道予以介
  • 【Lidar】Open3D点云DBSCAN聚类算法:基于密度的点云聚类(单木分割)附Python代码

    1 DBSCAN算法介绍 DBSCAN聚类算法是一种基于密度的聚类算法 全称为 基于密度的带有噪声的空间聚类应用 英文名称为Density Based Spatial Clustering of Applications with Nois
  • Java语言真的跌落神坛了吗?

    Java语言真的跌落神坛了吗 在开始前我有一些资料 是我根据自己从业十年经验 熬夜搞了几个通宵 精心整理了一份 Java的资料从专业入门到高级教程 工具包 点个关注 全部无偿共享给大家 在评论区回复 888 之后私信回复 888 即可拿走
  • 一封来自北京软协的感谢信

    日前 北京软件和信息服务业协会 以下简称北软协 向酷雷曼 北京同创蓝天云科技有限公司 发来感谢信 以 表彰和感谢 同创蓝天对北软协及行业的 全方位支持和卓越贡献 作为北软协理事会会员单位 酷雷曼积极参与各类论坛交流活动 为 行业调研建言献策
  • Netty火热平时却接触不多?1515页Netty学习进阶笔记真香

    Netty 的介绍 Netty 是由 JBOSS 提供的一个 Java 开源框架 现为 Github 上的独立项目 Netty 是一个异步的 基于事件驱动的网络应用框架 用以快速开发高性能 高可靠性的网络IO 程序 Netty 是一个异步的
  • vscode 内置(自带)功能使用

    vscode 搜索 功能 使用正则表达式 参考文章 Justice23 参考文章 熟悉的新风景 转义字符 匹配内容 t tab r 回车符号 r n 换行符号 n 特殊符号转义 如
  • JMeter —— 如何循环使用接口返回的多个值!

    在用JMeter做接口测试的时候 经常会遇到这样一种情况 一个接口请求返回了多个值 然后下一个接口想循环使用前一个接口的返回值 第二种情况 只想循环请求前一个接口返回值中的随机不定长度的某一些值 并不想用全部的 今天 我就和大家讲解一下这两
  • .NET 自定义中间件 判断是否存在 AllowAnonymousAttribute 特性 来判断是否需要身份验证

    public Task InvokeAsync HttpContext context 获取终点路由特性 var endpointFeature context Features Get
  • Web自动化测试流程:从入门到精通,帮你成为测试专家

    摘要 Web应用程序在今天的软件开发中占据着越来越重要的地位 保证Web应用程序的质量和稳定性是非常必要的 而自动化测试是一种有效的方法 本文将介绍Web自动化测试流程 并提供代码示例 步骤一 选取测试工具 选择适合自己团队的自动化测试工具
  • 滚动条样式

    webkit scrollbar 滚动条整体样式 width 10px 高宽分别对应横竖滚动条的尺寸 height 10px webkit scrollbar thumb 滚动条里面小方块 border radius 10px box sh
  • 使用DTS将自建MySQL迁移至PolarDB MySQL引擎,探索DTS全量数据校验

    1 领取免费的ECS和PolarDB资源 一旦您注册了阿里云账号并填写了您的账号和支付信息 您就可以申请免费试用我们的产品 如ECS PolarDB RDS等服务 1 1 申请 ECS 免费试用 1 在 阿里云免费试用中心 找到ECS 单击
  • .NET Core中鉴权 Authentication Authorization

    Authentication 鉴定身份信息 例如用户有没有登录 用户基本信息 Authorization 判定用户有没有权限 使用框架提供的Cookie鉴权方式 1 首先在服务容器注入鉴权服务和Cookie服务支持 services Add
  • 【S025】SpringBoot OA办公管理系统项目源码 办公自动化

    项目标题 SpringBoot OA办公管理系统项目源码 Java毕业设计 项目编号 S025 功能介绍 OA办公自动化系统 使用Maven进行项目管理 基于springboot框架开发的项目 mysql底层数据库 前端采用freemark
  • 如何学好信息安全?大学信息安全专业研发技能表-成为信息安全专业优秀人才

    网络空间安全 信息安全 的重要性这几年被提升到前所未有的高度 国家更是高度重视 并且特批成立了网络空间安全一级学科 各大高校积极申报博士点 硕士点 开设信息安全专业的高校越来越多 那么 对于信息安全专业的大一新生如何学好 可能很多同学都在迷
  • CODESYS的Robotics_PickAndPlace_without_Depictor例程解释

    1 简介 在CODESYS的例程中 有一个例程演示了如何控制delta机械手从一个移动的转盘中拾取一个工件 ring 圆环 然后放到移动的传送带上的托盘 cone 圆锥 中 这个例程在 C Program Files x86 CODESYS
  • 深度学习14—注意力机制与自注意力机制

    注 以下均为个人学习笔记 发布只为方便学习阅读 若觉侵权 请联系删除 1 李沐老师课堂学习理解笔记 1 1 随意线索和不随意线索 1 2 注意力机制 通过注意力池化层来有偏向性的选择某些输入 1 3 注意力池化层 1 3 1 非参数化注意力
  • 手写识别软件哪个好?来试试下面这几款吧

    听说你对手写文字识别软件很感兴趣啊 你就是那个总是在笔记本上写密密麻麻的字 然后又懒得一个个去打字的家伙吧 别担心 这个世界已经听到你的呼唤 手写文字识别技术就是为了解放你的双手费尽心思开发的 现在 让我来告诉你手写文字识别最简单的方法有哪
  • 基于SpringBoot的房屋租赁系统 附源码

    基于SpringBoot的房屋租赁系统 附源码 文章目录 基于SpringBoot的房屋租赁系统 附源码 一 引言 二 系统设计 三 技术架构 四 功能实现 五 界面展示 六 源码获取 一 引言 本文介绍了一个基于SpringBo
  • 【转载】【Unity】WebSocket通信

    1 前言 Unity客户端常用的与服务器通信的方式有socket http webSocket 本文主要实现一个简单的WebSocket通信案例 包含客户端 服务器 实现了两端的通信以及客户端向服务器发送关闭连接请求的功能 实现上没有使用U
  • Qt Quick 工程创建

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