QT学习笔记1(QT和QT creator介绍)
QT学习笔记1(QT和QT creator介绍)
Qt 是一个跨平台的应用开发框架,主要用于图形用户界面(GUI)应用的开发,但也支持非GUI程序的开发。Qt 支持多种平台,如Windows、macOS、Linux、iOS和Android,并提供了一致的API,允许开发者一次编写代码,然后在多个平台上编译和运行。
Qt 的主要特点:
跨平台开发
信号和槽机制:Qt 特有的信号和槽机制用于对象间的通信,非常适合事件驱动的应用开发。
丰富的组件库:Qt 提供了大量的UI组件、工具库、网络库、多媒体
国际化支持:Qt 自带国际化工具,使得应用程序支持多种语言的转换变得更加方便。
集成的开发工具:Qt 提供了集成开发环境(IDE),包括设计器(Qt Designer)、资源编辑器等工具来帮助开发者高效开发
Qt Creator 是 Qt 的官方集成开发环境(IDE),专门为Qt应用的开发而设计。它支持C++、QML(Qt Modeling Language)、Python等语言,并集成了丰富的调试和设计工具,帮助开发者更加便捷地开发应用。
Qt Creator 的主要功能:
项目管理:不同类型的项目管理,如纯C++项目、QML项目等
代码编辑和补全:智能代码补全、语法高亮、代码重构等
UI设计工具:内置了Qt Designer,开发者可以通过拖拽方式设计用户界面,而不需要手动编写UI代码。
调试工具:支持多平台调试,开发者可以直接在 Qt Creator 中使用GDB或LLDB等调试工具。
跨平台构建:提供了跨平台的编译和构建工具,支持多种构建系统(如qmake、CMake等)。
版本控制:集成了版本控制系统(如Git、Subversion等)
开发流程
跨平台开发的典型流程如下:
编写跨平台代码:使用 Qt 框架开发应用时,尽量避免使用特定于操作系统的API。
选择编译器和工具链:根据目标平台选择适当的编译器。例如,Windows 用 MSVC,Linux 用 GCC,macOS 用 Clang。
在 Windows 上你可以使用 MSVC 或 MinGW 编译项目。
在 macOS 和 Linux 上使用 Clang 或 GCC 编译同一项目。
Android 和 iOS 开发需要使用特定的编译工具链,如 Android NDK 或 Xcode 的工具。
在不同平台编译:在每个平台上使用相应的编译工具链来编译应用程序,并进行测试
“Qt Creator 4.11.0 Based on Qt 5.14.0 (MSVC 2017, 32 bit)” 表示的是 Qt Creator 和 Qt 版本以及编译环境之间的关系。让我们逐步分析:
1. Qt Creator 4.11.0
这是 Qt Creator 的版本号,表示你正在使用的是 4.11.0 版本的 Qt Creator。
Qt Creator 是集成开发环境(IDE),帮助你更方便地编写、调试和管理使用 Qt 框架开发的项目。
2. Based on Qt 5.14.0
这意味着 Qt Creator 4.11.0 是基于 Qt 5.14.0 版本构建的。
Qt 5.14.0 是 Qt 框架的一个具体版本,它提供了开发应用程序所需的核心库和模块(如 Qt Widgets、Qt Quick、Qt Core 等)。
Qt Creator 本身也是用 Qt 框架开发的应用程序,这里指的是 Qt Creator 使用了 Qt 5.14.0 的 API 和库来构建其自身的功能和界面。
3. MSVC 2017, 32 bit
这是 Qt Creator 在编译 Qt 项目时将使用的 编译器和工具链的类型。
MSVC 2017 表示使用的是 Microsoft Visual C++ 2017 作为编译器,常用于 Windows 平台开发。
32 bit 表示编译器生成的应用程序将是 32位 的。这意味着你的 Qt 项目将使用 32 位的 MSVC 2017 编译器来编译和生成 32 位的可执行文件。
总结他们的关系:
Qt Creator 是一个 IDE,用于管理和开发使用 Qt 框架构建的应用程序。
Qt 5.14.0 是 Qt 框架的版本,包含了 Qt 提供的库和工具,帮助你构建跨平台的应用程序。Qt Creator 本身是使用这个框架开发的。
MSVC 2017, 32 bit 是 Qt Creator 使用的 编译器工具链,用于编译和生成你的 Qt 项目。它确保你开发的应用程序能够在 Windows 上以 32 位格式运行。
因此,Qt Creator 是你用来开发 Qt 项目的 IDE,它本身是基于 Qt 框架开发的,而它又使用 MSVC 编译器来编译你的项目。
Built on Dec 10 2019 12:27:13
表示这个版本的 Qt Creator 是在 2019年12月10日 编译和构建的,时间是 12:27:13。
3. From revision 017ed74400
这部分表示代码版本控制中的 修订号(revision number)。这是唯一标识这次构建的代码库的一个代码提交版本号,帮助开发者追踪构建时使用的代码版本。
4. Copyright 2008-2019 The Qt Company Ltd. All rights reserved.
这是 Qt Creator 和 Qt 框架的版权声明,表示从 2008年到2019年,Qt Creator 的版权归 The Qt Company Ltd. 所有。
5. The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
这是一条法律免责声明,表示这个软件是 按原样 提供的,没有任何形式的担保。具体来说:
NO WARRANTY OF ANY KIND:没有任何形式的保证。
INCLUDING THE WARRANTY OF DESIGN:包括关于设计的保证。
MERCHANTABILITY:没有对适销性(即能否符合市场需求)的保证。
FITNESS FOR A PARTICULAR PURPOSE:没有对特定用途适用性的保证。
这意味着 Qt Creator 是一个免费开源的软件,Qt 公司不对其功能或特定用途的适用性提供任何法律保证或承诺。用户使用该软件需要自行承担风险
相关文章:

QT学习笔记1(QT和QT creator介绍)
QT学习笔记1(QT和QT creator介绍) Qt 是一个跨平台的应用开发框架,主要用于图形用户界面(GUI)应用的开发,但也支持非GUI程序的开发。Qt 支持多种平台,如Windows、macOS、Linux、iOS和Android&a…...

存储电话号码的数据类型,用 int 还是用 string?
在 Java 编程中,存储电话号码的选择可以通过两种常见方式进行:使用 int 类型或 String 类型。这种选择看似简单,但实际上涉及到 JVM 内部的字节码实现、内存优化、数据表示、以及潜在的可扩展性问题。 Java 基本数据类型与引用数据类型的差异…...

【目标检测】工程机械车辆数据集2690张4类VOC+YOLO格式
数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):2694 标注数量(xml文件个数):2694 标注数量(txt文件个数):2694 标注…...

target_link_libraries()
target_link_libraries() 是 CMake 中的一个命令,用于指定目标(如可执行文件或库)所依赖的其他库。其主要作用包括: 链接库:将指定的库链接到目标上,使目标能够调用这些库中的函数和使用其功能。 管理依赖…...

Javascript数组研究09_Array.prototype[Symbol.unscopables]
Symbol.unscopables 是 JavaScript 中一个相对较新的符号(Symbol),用于控制对象属性在 with 语句中的可见性。它主要用于内置对象,如 Array.prototype,以防止某些方法被引入到 with 语句的作用域中,避免潜在…...

SkyWalking 自定义链路追踪
对项目中的业务方法,实现链路追踪,方便我们排查问题 引入依赖 <!‐‐ SkyWalking 工具类 ‐‐> <dependency> <groupId>org.apache.skywalking</groupId> <artifactId>apm‐toolkit‐trace</artifactId> <vers…...

Linux驱动开发(速记版)--设备模型
第八十章 设备模型基本框架-kobject 和 kset 80.1 什么是设备模型 设备模型使Linux内核处理复杂设备更高效。 字符设备驱动适用于简单设备,但对于电源管理和热插拔,不够灵活。 设备模型允许开发人员以高级方式描述硬件及关系,提供API处理设备…...

动手学深度学习(李沐)PyTorch 第 6 章 卷积神经网络
李宏毅-卷积神经网络CNN 如果使用全连接层:第一层的weight就有3*10^7个 观察 1:检测模式不需要整张图像 很多重要的pattern只要看小范围即可 简化1:感受野 根据观察1 可以做第1个简化,卷积神经网络会设定一个区域,…...

新编英语语法教程
新编英语语法教程 1. 新编英语语法教程 (第 6 版) 学生用书1.1. 目录1.2. 电子课件 References A New English Grammar Coursebook 新编英语语法教程 (第 6 版) 学生用书新编英语语法教程 (第 6 版) 教师用书 1. 新编英语语法教程 (第 6 版) 学生用书 https://erp.sflep.cn/…...

Golang 服务器虚拟化应用案例
推荐学习文档 golang应用级os框架,欢迎stargolang应用级os框架使用案例,欢迎star案例:基于golang开发的一款超有个性的旅游计划app经历golang实战大纲golang优秀开发常用开源库汇总想学习更多golang知识,这里有免费的golang学习笔…...

Elasticsearch基础_4.ES搜索功能
文章目录 一、搜索辅助功能1.1、指定返回的字段1.2、结果计数1.3、结果分页 二、搜索匹配功能2.1、查询所有文档2.2、term级别查询2.2.1、term查询2.2.2、terms查询2.2.3、range查询2.2.4、exists查询 2.3、布尔查询2.3.1、must,should,must_not2.3.2、f…...

Elasticsearch要点简记
Elasticsearch要点简记 1、ES概述2、基础概念(1)索引、文档、字段(2)映射(3)DSL 3、架构原理4、索引字段的数据类型5、ES的三种分页方式(1)深度分页(fromsize)…...

【通信协议】IIC通信协议详解
IIC(Inter-Integrated Circuit)通信协议,又称为I2C(Inter-Integrated Circuit 2)协议,是一种广泛使用的串行通信协议。它由Philips Semiconductor(现NXP Semiconductors)开发&#x…...

2024年中国科技核心期刊目录(社会科学卷)
2024年中国科技核心期刊目录 (社会科学卷) 序号 期刊代码 期刊名称 1 SC02 JOURNAL OF S…...

用Python集成免费IP归属地查询API
IP查询的优势是什么? IP查询是一种强大的工具,能够快速提供关于IP地址的信息,如地理位置、互联网服务提供商(ISP)、连接类型等。这些数据在多种场景下都非常有用,帮助用户理解网络环境和用户行为。 首先&…...

C 数组
C 数组 数组是C语言中的一种基本数据结构,用于存储一系列相同类型的数据。它是连续的内存分配,允许通过索引快速访问元素。本文将详细介绍C数组的概念、使用方法、以及注意事项。 1. 数组的概念 数组是一个集合,可以存储一定数量的元素。在…...

【Unity】unity安卓打包参数(个人复习向/有不足之处欢迎指出/侵删)
1.Texture Compression 纹理压缩 设置发布后的纹理压缩格式 Use Player Settings:使用在播放器设置中设置的纹理压缩格式 ETC:使用ETC格式(兼容) ETC2:使用ETC2格式(很多设备不支持) ASTC:使用…...

C0016.Clion中qDebug()打印输出中文时,都是问号??????的解决办法
问题描述 在clion中使用qDebug打印输出中文内容时,都是?????如下图: 注意:修改该文件的编码格式就行,该文件名为apr.cpp; 解决办法...

C++ priority_queue 优先队列构造大根堆和小根堆
priority_queue的三个参数 template <class T, class Container std::vector<T>, class Compare std::less<typename Container::value_type>> class priority_queue;1、元素类型 2、底层容器类型,默认vector 3、比较函数(传入的是…...

音视频入门基础:FLV专题(9)——Script Tag简介
一、SCRIPTDATA 根据《video_file_format_spec_v10_1.pdf》第75页到76页,如果某个Tag的Tag header中的TagType值为18,表示该Tag为Script Tag(脚本Tag,又称Data Tag、SCRIPTDATA tag)。这时如果Filter的值不为1表示未加…...

Vue页面,基础配置
最简单页面 日期范围及字符搜索,监听器处理日期范围搜索控件清空重置问题导出、导出文件文件名称带日期时间表格日期指定格式显示。。。 <template><div class"app-container"><el-form :model"queryParams" ref"queryForm…...

(杨辉三角) 攻防世界--->notsequence
学习笔记。(不想看可以直接跳正文。) 前言:仿佛又回到高中 - - 只不过,是以另一种形式再次出现。 学习思维为主,做题位次。(后面再补。) 前置知识: 什么是杨辉三角: 杨辉三角_百度百科 (bai…...

【CTF Web】Pikachu CSRF(get) Writeup(CSRF+GET请求+社会工程学)
CSRF(跨站请求伪造)概述 Cross-site request forgery 简称为“CSRF”,在CSRF的攻击场景中攻击者会伪造一个请求(这个请求一般是一个链接),然后欺骗目标用户进行点击,用户一旦点击了这个请求,整个攻击就完成…...

智能工厂的软件设计 作为“程序Program”的中台 之2
Q11、现在,我们再重新理解一下前面所说:三种中台(数据中台、技术中台和业务中台)作为这个整体的三个整子Holon,合起来是一个 融合了三分法( 三分部 的三个中台构成三段式 程序框架,分别用 <h…...

GB28181信令交互流程及Android端设备对接探讨
GB28181规范必要性 好多开发者在做比如执法记录仪、智能安全帽、智能监控等设备端视频回传技术方案选型的时候,不清楚到底是用RTSP、RTMP还是GB28181,对GB28181相对比较陌生,我们就GB28181规范的必要性,做个探讨: 实现…...

OpenCV视频I/O(14)创建和写入视频文件的类:VideoWriter介绍
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 视频写入器类。 该类提供了用于写入视频文件或图像序列的 C API。 cv::VideoWriter 类是 OpenCV 库中用于创建和写入视频文件的一个类。它提供了…...

c语言学习(书本目录)
关键字 变量 3.typedef的使用: 定义一个结构体,名字是Person: struct Person { char name[50]; int age; }; 给结构体取一个别名:struct Person---》Person typedef struct Person Person; 上面带标签的结构体等效于 …...

2024年最新版本神马TV8.5影视APP源码 293TV影视点播系统源码搭建教程 神马TV8.2加强版反编译教程 保姆级小白可搭建 完整版本视频教程
2024年最新版的神马TV影视APP源码,版本号8.5,提供了前所未有的定制化选项和高级功能。用户可以轻松更换应用的包名和名称,确保品牌个性化。此外,该应用采用了动态域名加密技术,增强了数据传输的安全性。它支持自动切换…...

衍生品交易的隐藏风险:认识CCR和xVA
作为一名资深的量化交易专家和金融自媒体人,我经常被问到:"衍生品交易真的像传说中那么危险吗?"这个问题背后,隐藏着许多投资者对金融市场的担忧和好奇。今天,让我们一起揭开衍生品交易中两个关键概念的面纱…...

我的项目管理生涯
1 前言 从好几年前就想写几篇关于自己职业生涯的文章了,一直由于各种原因没有写成,正好借新的工作机会,尤其是项目管理这段工作经历,计划通过这一二篇文章进行总结和反思一下,以期更顺利的开展相关工作或是自己能更上…...