Qt Quick系列(1)—开发界面以及相关文件介绍

news2024/11/28 4:30:47

作者:CCAccept
专栏:Qt Quick
在这里插入图片描述

文章目录

  • 开发界面
  • 相关文件介绍
    • .pro文件
    • .pri文件(这个一般要稍微大一点的Qt项目才会用到)
    • main.cpp
    • main.qml

开发界面

如何具体的写代码实现Qt Quick的UI界面,首先我们需要新建一个空的Qml工程
1、选择Application中的Qt Quick Application
在这里插入图片描述
2、选择项目名字,然后无脑下一步
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3、选择合适的Kit,在 Qt 中,Kit 是一个用来描述编译器、构建工具和 Qt 版本的集合,它可以帮助我们配置和管理不同的开发环境
在这里插入图片描述
4、创建项目成功,可以看到这几个文件(后面会详细讲解)
在这里插入图片描述

5、运行成功
在这里插入图片描述


相关文件介绍

Qt Quick项目文件一般包括.pro文件、.pri文件、.cpp、.h以及最最最重要的QML文件

.pro文件

.pro 文件是 Qt 项目文件的扩展名,用于描述 Qt 项目的配置信息,包括编译器选项、目标文件、库文件等。在 Qt 开发中,.pro 文件是一个非常重要的文件,它包含了编译、链接和部署 Qt 应用程序所需的所有信息。

.pro 文件是通过 Qt 的 qmake 工具生成的,它的主要作用有以下几个方面:

1、定义项目的源代码文件、头文件、资源文件等。
2、配置编译器选项、链接库、目标文件等。
3、自动生成 Makefile 文件,用于编译和链接源代码。
4、生成 Qt 项目文件,用于在 Qt Creator 中打开和管理 Qt 项目。
5、在 .pro 文件中,我们可以使用特定的语法来描述项目的不同部分,例如 SOURCES、HEADERS、RESOURCES 等关键词来描述源代码、头文件和资源文件等。同时,我们也可以使用 INCLUDEPATH、LIBS 等关键词来配置编译器选项、链接库等。

总之,.pro 文件是 Qt 项目的核心文件,它包含了项目的所有配置信息,可以帮助我们快速生成 Makefile 文件,简化编译和链接流程,提高开发效率。
在这里插入图片描述


.pri文件(这个一般要稍微大一点的Qt项目才会用到)

在 Qt 中,.pri 文件是一种项目包含文件,用于将一组相关的模块和库组织在一起并使其可重用。.pri 文件是一种纯文本文件,它通常包含一些变量定义、模块和库的依赖关系以及需要编译的源代码文件列表等信息。.pri 文件可以被其他项目引用,从而实现代码的共享和重用。

一个项目的 .pro 文件通常包含一些用于指定编译选项、依赖关系、构建步骤等信息的语句,但是如果一个项目非常复杂,包含了许多模块和库,那么 .pro 文件可能会变得非常庞大和难以维护。为了解决这个问题,Qt 引入了 .pri 文件的概念。.pro 文件可以通过 include() 函数引用其他的 .pri 文件,从而将项目的各个部分分离开来,使得每个部分都能够独立地维护和更新。

就像include($${XXX_SOURCE_TREE}/src/XXX.pri)

例如,一个大型的 Qt Quick 应用程序可能需要使用许多第三方的 QML 模块和 C++ 库,这些模块和库可以分别放在不同的 .pri 文件中,并在应用程序的 .pro 文件中通过 include() 函数引用它们。这样,每个 .pri 文件只需要关注自己的模块和库,而不需要关注整个应用程序的构建和依赖关系,从而提高了项目的可维护性和可重用性。

需要注意的是,.pri 文件并不是一个标准的 Qt 项目文件,而是一种约定俗成的组织方式。因此,不同的项目可能会使用不同的命名和组织方式来管理 .pri 文件。

其实就可以将.pri文件看作是小的.pro文件,而我们的.pro文件既可以由自己一个单独构成也可以将.pri进行集合(在.pro文件中对.pri文件进行include)组成一个大的.pro文件


main.cpp

main.cpp依旧是程序的入口点,他会在这对程序进行整体的把控,直接一张图进行解释吧👇
在这里插入图片描述


main.qml

QML文件的实现也是Qt Quick应用开发的重点,这里先进行简单的介绍,后续会进行更加详细的介绍。
在这里插入图片描述
如果觉得这篇文章对您有所帮助那就请您点个赞呗(不要脸的要个赞,哈哈哈哈😂),当然,如果本篇文章有任何问题也请一定提出来,共同进步,谢谢啦😀
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/537785.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java面向对象程序设计实验报告(实验三 继承的练习)

✨作者:命运之光 ✨ 专栏:Java面向对象程序设计实验报告 ​ 目录 ✨一、需求设计 ✨二、概要设计 ✨三、详细设计 ✨四、调试结果 ✨五、测试结果 ✨附录:源程序代码(带注释) demo3类 Person类 Student类 …

[架构之路-201]-《软考-系统分析师》- 关键技术 - 结构化分析方法与面向对象分析(分析与设计的区别)

目录 前言: 一、分析与设计的区别 二、结构化分析方法 2.1 实体关系图:E - R 图 (名词) 2.2. 数据流图(数据的流动) (1) 顶层图。 (2) 逐层分解。 2.3. 状态转换图(动作) …

电压比较器

电压比较器&#xff1a; 应用一&#xff1a;过压&#xff0c;低压检测&#xff08;over and undervoltage detectors&#xff09; 如果Vin<Vs&#xff0c;则VoutVpullup。 如果Vin>Vs&#xff0c;则Vout0V。 应用二&#xff1a;窗口比较器&#xff08;window comparat…

Zadoff-Chu序列

ZC序列的定义 ZC序列有两个重要的参数&#xff1a; 根索引&#xff08;root index&#xff09; q 1 , 2 , ⋯ , N z c − 1 q1,2,\cdots,N_{zc}-1 q1,2,⋯,Nzc​−1ZC序列的长度 N z c N_{zc} Nzc​&#xff0c;一定得是奇数&#xff08;常常是质数&#xff09; 给定上述两…

网络:网络分层与协议/OSI七层模型/(TCP/IP模型)

一、简单理解 OSI模型(Open System Interconnection)&#xff1a; 七层模型&#xff0c;亦称OSI&#xff08;Open System Interconnection&#xff09;。参考模型是国际标准化组织&#xff08;ISO&#xff09;制定的一个用于计算机或通信系统间互联的标准体系&#xff0c;一般…

数据结构——带头双向循环链表实现

目录 前言 一、结构介绍 二、增删查改的实现 1.在某一位置前插入数据 2.头插 3.尾插 4.删除某一位置的节点 5.头删 6.尾删 7.查找 8.打印 9.销毁 三、完整项目代码 1.头文件(List.h) 2.函数文件(List.c) 3.主函数测试文件(test.c) 前言 在学习数据结构过程中&…

HQL语法

HQL基础语法 Hive中的语句叫做HQL语句,是一种类似SQL的语句,基本上和SQL相同但是某些地方也是有很大的区别. 数据库操作 创建数据库 1.创建一个数据库,数据库在HDFS上的默认存储路径是/hive/warehouse/*.db。 create database hive01; 避免要创建的数据库已经存在错误&…

【零基础学机器学习 3】机器学习类型简介:监督学习 - 无监督学习 - 强化学习

机器学习是人工智能的一种应用,从大量数据中学习并解决特定问题。它使用计算机算法,通过经验自动提高效率。 机器学习主要有三种类型:监督、无监督和强化学习。 监督学习 概述 监督学习是一种使用标记数据来训练机器学习模型的机器学习类型。在标记数据中,输出已经是已知…

javascript-基础知识点总结

目录 &#xff08;一&#xff09;基础语法 1、javaScript引入方式 2、变量与常量 3、数据类型 typeof操作符 4、运算符 5、输出函数 6、类型转化 7、转移字符 8、注释 &#xff08;二&#xff09;流程控制 1、选择结构 switch 2、循环结构 for &#xff08;三&…

简单网络管理协议 SNMP

文章目录 1 概述1.1 结构1.2 操作 2 SNMP2.1 报文格式2.2 五大报文类型 3 扩展3.1 网工软考真题 1 概述 #mermaid-svg-95KMV1m3prKJgwv1 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-95KMV1m3prKJgwv1 .error-ico…

【云原生】K8sYaml文件详细

K8sYaml文件详细 一、Kubernetes支持的文件格式1、yaml和json的主要区别2、yaml语言格式 二、YAML操作1、查看API资源版本标签2、编写资源配置清单3、创建资源对象4、查看创建的pod5、创建service服务对外提供访问并测试6、创建资源对象7、测试访问 三、Kubernetes中的Port四、…

chatgpt赋能Python-new_init_python

新版Python中的__new__和__init__方法 Python作为一种高级编程语言&#xff0c;具有简单易学、代码可读性高和编写效率高等特点&#xff0c;因此越来越受到程序员们的青睐。其中&#xff0c;__new__和__init__方法是Python中的两个非常重要的方法&#xff0c;它们在实例化一个…

chatgpt赋能Python-matplotlib绘制雷达图

Matplotlib 绘制雷达图 在数据分析和可视化领域&#xff0c;雷达图是一种常用的图表类型。Matplotlib 是一个用于绘制 2D 图形的 Python 库&#xff0c;也可以用于绘制雷达图。本文将介绍如何使用 Matplotlib 绘制雷达图&#xff0c;包括数据准备、绘图方式和样式设置。 数据…

改进YOLOv5 | 在 C3 模块中添加【SE】【CBAM】【 ECA 】【CA】注意力机制 | 附详细结构图

文章目录 1. SE 注意力模块1.1 原理1.2 C3_SE 代码2. CBAM 注意力模块2.1 原理2.2 C3_CBAM 代码3. CA 注意力模块3.1 原理3.2 C3_CA 代码4. ECA 注意力模块4.1 原理4.2 C3_ECA 代码5. 添加方式💡6. C3_Attention 结构图 🍀7. 相关推荐🍀

Ada语言学习(1)Basic Knowledge

文章目录 说在前头命名注释数字变量变量类型signed integersEnumerationsFloating Points 类型重用&#xff08;继承&#xff09;类型转换 运算符属性&#xff08;Attributes&#xff09;练习 说在前头 本系列教程将会通过提问的方式来完成整个学习过程&#xff0c;因为当你能…

瑞吉外卖 - 公共字段自动填充功能(10)

某马瑞吉外卖单体架构项目完整开发文档&#xff0c;基于 Spring Boot 2.7.11 JDK 11。预计 5 月 20 日前更新完成&#xff0c;有需要的胖友记得一键三连&#xff0c;关注主页 “瑞吉外卖” 专栏获取最新文章。 相关资料&#xff1a;https://pan.baidu.com/s/1rO1Vytcp67mcw-PD…

每日一练 | 网络工程师软考真题 Day3

1、以下图的两种编码方案分别是 。 A&#xff0e;①差分曼彻斯特编码&#xff0c;②双相码 B&#xff0e;①NRZ编码&#xff0c;②差分曼彻斯特编码 C&#xff0e;①NRZ-I编码&#xff0c;②曼彻斯特编码 D&#xff0e;①极性码&#xff0c;②双极性码 2、假设模拟…

windows下安装emsdk

先从github上下载emsdk工程&#xff1a; # Get the emsdk repo git clone https://github.com/emscripten-core/emsdk.git# Enter that directory cd emsdkgit pull 更新到最新代码 clone 工程可以在 git bash here 命令行下&#xff1a; 执行下面的指令用cmd命令行&#xf…

chatgpt赋能Python-numpy_加速

介绍 NumPy是Python编程语言的数值计算扩展库。它包括一个强大的N维数组对象和用于处理这些数组的函数。NumPy是一个基于Python的免费开源软件项目&#xff0c;由社区驱动。这个库提供了一种高效的存储和处理大型矩阵数据的方式&#xff0c;同时也提供了非常高效的处理大量数据…

chatgpt赋能Python-jinja_python

Jinja Python介绍及SEO优化 Jinja是一个流行的Python模板引擎&#xff0c;它允许开发人员使用简单的语法来生成动态内容。在本文中&#xff0c;我们将介绍Jinja的基础知识&#xff0c;并探讨如何将其应用于搜索引擎优化。 Jinja Python介绍 Jinja是Python语言的一种模板引擎…