QT学习笔记1(QT和QT creator介绍)

news/2024/10/5 4:03:54/

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 公司不对其功能或特定用途的适用性提供任何法律保证或承诺。用户使用该软件需要自行承担风险


http://www.ppmy.cn/news/1534739.html

相关文章

数据结构 ——— 顺序表oj题:编写函数,合并两个有序数组

目录 题目要求 代码实现 题目要求 nums1 和 nums2 是两个升序的整型数组,另外有两个整数 m 和 n 分别代表 nums1 和 nums2 中的元素个数 要求合并 nusm2 到nums1 中,使合并后的 nums1 同样按升序顺序排列 最终,合并后的数组不应由函数返…

基于Node.js+Express+MySQL+VUE科研成果网站发布查看科研信息科研成果论文下载免费安装部署

目录 1.技术选型‌ ‌2.功能设计‌ ‌3.系统架构‌ ‌4.开发流程‌ 5.开发背景 6.开发目标 7.技术可行性 8.功能可行性 8.1功能图 8.2 界面设计 8.3 部分代码 构建一个基于Spring Boot、Java Web、J2EE、MySQL数据库以及Vue前后端分离的科研成果网站,可…

正则表达式(补充)

一、常见匹配模式 模式描述\w匹配字母数字及下划线\W匹配非字母数字下划线\s匹配任意空白字符,等价于 [\t\n\r\f].\S匹配任意非空字符\d匹配任意数字,等价于 [0-9]\D匹配任意非数字\A匹配字符串开始\Z匹配字符串结束,如果是存在换行&#xf…

【STM32】 TCP/IP通信协议(3)--LwIP网络接口

LwIP协议栈支持多种不同的网络接口(网卡),由于网卡是直接跟硬件平台打交道,硬件不同则处理也是不同。那Iwip如何兼容这些不同的网卡呢? LwIP提供统一的接口,底层函数需要用户自行完成,例如网卡的…

全网最详细kubernetes中的资源

1、资源管理介绍 在kubernetes中,所有的内容都抽象为资源,用户需要通过操作资源来管理kubernetes。 kubernetes的本质上就是一个集群系统,用户可以在集群中部署各种服务。 所谓的部署服务,其实就是在kubernetes集群中运行一个个的…

C++语言学习(1): std::endl 在做什么?

std::endl 是一个函数(而不是变量): std::endl 会向控制台写入 \n 字符,并且刷新缓冲。 刷新缓冲肯定比不刷新缓冲慢。 这就是为什么有些 guide 里提到,少用 std::endl, 多用 \n.

​​乐​​牛一​面​​​游​​卡​​一​二​​​​面​

1. 请尽可能详细地说明,热更新(HMR)的原理是什么?你的回答中不要写出示例代码。 热更新(Hot Module Replacement,简称HMR)是一种在应用程序运行时,实时替换、添加或删除模块的技术&…

Redis入门第四步:Redis发布与订阅

欢迎继续跟随《Redis新手指南:从入门到精通》专栏的步伐!在本文中,我们将深入探讨Redis的发布与订阅(Pub/Sub)模式。这是一种强大的消息传递机制,适用于各种实时通信场景,如聊天应用、实时通知和…