1.Qt6认知


如果想单独一对一辅导学习嵌入式、C++、Java、Python编程语言的可以加微信咨询

1. Qt 认知

Qt是一个跨平台应用开发框架,使用C++语言写的一套类库。使用Qt能为桌面计算机、服务器、移动设备甚至单片机开发各种应用,特别是图形用户界面程序。经过多年的发展和更新,Qt使用更为广泛,功能更为丰富,已成为C++中跨平台应用开发的首选框架。

1.1 Qt简介

很多刚接触Qt的开发者会认为Qt是一种编程语言,或者将Qt的集成开发环境Qt Creator 当作Qt,这些理解是错误的。Qt本质上是用C++编写的大型类库,它为跨平台应用开发提供了一个完整的框架。Qt框架包含大量的类,支持GUI、数据库、网络、多媒体等各种应用的编程。本节概要介绍Qt的功能和特点,包括其跨平台开发能力、许可类型、支持的开发语言,以及Qt6的新特性。

1.1.1 Qt跨平台

Qt的一个重要特点就是具有跨平台开发能力。使用Qt为计算机、移动设备、嵌入式设备、微控制单元(microcontroller unit,MCU,又称单片机)等目标设备开发程序。

Qt能用于如下设备和平台的实现应用开发:

  • 桌面应用开发,支持的桌面操作系统包括Windows、桌面Linux和macOS。
  • 手机和平板计算机等移动设备的应用开发,支持的移动操作系统包括 Android、iOS和Windows。
  • 嵌入式设备的应用开发,支持的嵌入式操作系统包括QNX、嵌入式Linux和VxWorks等。这些嵌入式设备一般具有能力较强的处理器和丰富的存储器资源,例如轿车的全液晶仪表盘。
  • MCU的应用开发,支持嵌入式实时操作系统FreeRTOS或无操作系统。MCU的处理器能力较弱,存储器资源有限,各种MCU系统的硬件资源差异大,目前Qt只支持NXP、Renesas、ST、Infineon等公司的部分型号单片机开发板,实际产品的开发需要深度定制。
    以上介绍的这些设备和操作系统称为目标平台,是运行用Qt开发的应用软件的平台。实际上,除了计算机和服务器,其他设备都可以归为嵌入式设备,嵌入式设备的软件开发需要使用交叉编译开发方式。因为嵌入式设备的硬件和软件资源有限,所以不能直接在嵌入式设备上进行软件开发,而是需要先在计算机上编写源程序,然后使用针对目标平台的编译器编译代码,再将编译出的二进制文件下载到目标设备上运行。例如我们为STM32单片机开发程序时,就是在计算机上用开发软件编写并编译程序,然后将编译好的二进制文件通过仿真器下载到STM32单片机上运行。在交叉编译开发方式中,计算机称为主机,主机包括Windows、桌面Linux、macOS等不同须使用对应主机平台的Qt。例如,要开发在Windows计算机上运行的应用,就必须使用 Windows平台上的Qt;要开发在苹果手机(iOS)上运行的应用,就必须使用苹果计算机(macOS 平台)上的Qt。

1.1.2 Qt版本

Qt的版本可以根据许可类型分为商业许可和开源许可,开源许可又分为GPLv2/GPLv3和LGPLv3。
(1)商业版:商业许可需要付费,Qt公司目前采用的是按年付费的方式。商业许可允许开发者不公开项目的源代码。商业许可的Qt安装包里有更多的模块,某些模块只有在商业许可的版本中才有。
(2)开源版:采用GPLv2/GPLv3许可。若用户编写的程序使用了GPL许可的Qt代码,则用户程序也必须使用GPL许可,也就是用户代码必须开源,但是允许商业化销售。GPLv3还要求用户公开相关硬件信息。简单来说,就是你“免费”使用的东西必须也“免费”提供给别人使用。
根据开发目标的不同,Qt提供了3种安装包。安装包具有针对不同主机平台的版本,而且采用了不同的许可协议。

  • Qt for Application Development:用于为计算机和移动设备开发应用的开发套件安装包,有商业和开源两种许可协议,具有Windows、Linux、macOS主机平台版本。
  • Qt for Device Creation:用于为嵌入式设备开发应用的开发套件安装包,只有商业许可协议,具有Windows和Linux主机平台版本。
  • Qt for MCUs:用于为MCU开发GUI程序的开发套件安装包,只有商业许可协议,具有Windows和 Linux主机平台版本。
    注意:
    1.Qt for Device Creation 和Qt for MCUs只有商业许可版本,但是可以申请免费试用版本。嵌入式设备和MCU的软件开发定制性很强,需要根据具体硬件设计驱动程序,即使是专业的开发人员也可能需要Qt公司的专业技术支持才可以完成开发工作。
    2.Qt for Application Development 有开源许可版本,具有Windows、Linux、macOS主机平台版本,可以开发桌面应用,也可以开发手机或平板计算机的应用。Qt的初学者使用这个版本较合适。

1.1.3 Qt6新特性

Qt 5.0是在2012年发布的,随着C++语言标准已经发展到C++17,Qt的各项功能也需要根据实际需求进行升级,所以诞生了Qt6,它对Qt的一些底层进行了重大的更新,但同时还保持与Qt5兼容。

Qt 6.0在2020年12月正式发布,引入了很多新的特性,主要包括如下内容:

  • 支持C++17标准,以便使用一些C++语言的新特性。
  • Qt核心库设计了新的属性和绑定系统;字符串全面支持Unicode;修改了QList类的实现方式,将QVector类和QList类统一为QList类;QMetaType 和 QVariant 是 Qt元对象系统的基础,这两个类在Qt6中几乎被完全改写。
  • 新的图形架构,Qt6中设计了3D图形的渲染硬件接口(rendering hardware interface,RHI)。RHI是3D图形系统的一个抽象层,使得Qt可以使用平台本地化的3D图形API。
  • CMake构建系统,Qt6支持CMake构建系统,并且建议新的项目使用CMake,Qt6本身就是用CMake构建的。但是Qt公司声明,Qt6仍然会在整个生命周期内支持qmake构建系统。
    Qt6还有许多其他方面的改进,例如对多媒体、网络、Qt Quick 3D等模块的改进,感兴趣可以查看Qt官网上的说明。Qt6尽量与Qt5保持兼容,将Qt5的项目程序移植到Qt6一般只需少量的改动,Qt官网上有关于移植到Qt6的技术指导。
    注意:

由于Qt 自从5.15版本开始,对非商业版本,也就是开源版本,不提供已经制作好的离线exe安装包。所以现在安装的方式就是基于在线安装,在线安装有个最大的好处可以统一安装历史版本。在维护旧项目不支持新特性的时候很有用。

1.2 Qt安装

Qt在线安装包支持所有版本的Qt在线安装,所以在选择时只需关注操作系统的类型即可
下载地址为:https://download.qt.io/official_releases/online_installers/
在这里插入图片描述

如上图所示,很明显第一个用于Windows系统,第二个用于Mac系统,第三个用于Linux系统。按照自己的操作系统进行下载之后,运行Qt在线安装程序,操作指引步骤如下:

1.右键单击软件,以管理员身份运行。
在这里插入图片描述

2.登录Qt账号,若没有Qt账号,需要注册一个,只有登录成功后才能继续后续操作。
在这里插入图片描述

3.登录成功后,进入下面的页面,勾选 “我已阅读并同意使用开源Qt的条款和条件”和“我是个人用户,我不为任何公司使用Qt” 两个选项,点击下一步。
在这里插入图片描述

4.继续下一步。
在这里插入图片描述

5.任意勾选一项,再次点击下一步(此处选择是否发送统计信息帮助Qt进行改善,对于开发者意义不大)。
在这里插入图片描述

6.选择第一个:自定义安装 “custom installation” ,并指定一个容量在20G左右且空的安装目录,路径可以根据自己的实际情况选择,点击下一步。
在这里插入图片描述

7.如果电脑中在此位置有其他Qt的版本可能会提示如下信息,选择“是”即可。
在这里插入图片描述

8.勾选Qt Design Studio 4.3.2、Qt 6.2.4 (MigGW 11.2.0 64-bit、Sources源码也可以不选)、Developer and Designer Tools (此处也可以根据需要选择)三个选项部分组件,继续点击下一步 。
部分选择说明:

  • WebAssembly(TP):将Qt编写的程序编译为WebAssembly格式发布到Web浏览器上运行,不安装。TP为技术预览版本;
  • MSVC 2019 ARM64(TP):一般Windows计算机采用AMD64架构,而不是ARM64架构,不安装。
  • MSVC 2019 64-bit:该组件必须单独安装Visual Studio2019(社区版即可),初学不用安装。
  • MinGW 11.2.0 64-bit:MinGW是Windows平台上使用的GUN工具集,需要安装。
  • Android:为Android手机开发应用提供的Qt开发套件,不安装。
  • Sources:Qt框架源代码,是否安装根据个人情况。
  • Qt 5 Compatibility Module:为兼容Qt5而在Qt6设计的模块,如果保证一定的兼容性,应该选择安装,反之可以不安装。
  • Qt Shader Tools:Qt着色器工具,用于3D图形着色的模块。
  • Qt Debug Information Files:Qt6调试信息文件。
  • Qt Quick Timeline:Qt Quick的模块,本书不涉及Qt Quick编程,不安装。
  • Qt Creator 12.0.1:Qt的IDE软件,必须安装。
  • Qt Creator 12.0.1 CDB Debugger Support:为Qt Creator安装CDB调试相关文件,要在Qt Creator中使用断点功能则必须安装。
  • Debugging Tools for Windows:为调试MSVC编译的程序提供的调试器和工具,不使用MSVC可以不安装。
  • Qt Creator 12.0.1 Debug Symbols:为在Qt Creator中进行程序调试提供的符号文件,可不安装。
  • Qt Creator 12.0.1 Plugin Development:为Qt Creator 开发插件所需的头文件和库文件,需要安装。
  • Qt Design Studio 4.3.2:Qt Design Studio是QML编程设计界面的工具软件,如何不使用QML可以不安装。
  • MinGW 11.2.0 64-bit:需安装
  • Qt Installer Framework 4.6:为发布应用软件制作安装包的工具软件,需要发布软件可以选择安装。
  • CMake 3.27.7:CMake的构建工具,需安装。
  • Ninja 1.10.2:小型构件系统,专注与构建速度,可安装。
  • OpenSSL 3.0.11 Toolkit:安全套接字层是一种网络安全通信协议,如果不涉及OpenSSL编程使用,暂时可以不安装。
    在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

最后等待安装完成后,点击完成即可。
注意:
1.在安装期间电脑不能关机、不能断网,否则将需要从头开始进行安装操作。
2.由于Qt的镜像属于境外,在线安装速度较慢,可以使用国内镜像安装。
例如:https://mirrors.tuna.tsinghua.edu.cn/qt/official_releases/online_installers/
在这里插入图片描述

或者以命令行方式运行,同时更变镜像源,实现在线安装。
在这里插入图片描述
在这里插入图片描述

1.3 创建Qt项目

安装Qt时会自动安装软件Qt Creator,该软件是用于Qt程序开发的跨平台IDE软件。这里介绍下如何使用Qt Creator编写一个简单的Gui程序,包括Qt项目的创建、界面设计、运行项目的基本操作。

1.3.1 Qt Creator介绍

Qt Creator的界面很简洁,上方是菜单栏,左侧是主工具栏,中间部分是工作区。主工具栏提供了项目文件编辑(Edit)、窗口界面设计(Design)、程序调试(Debug)、项目设置(Project)等功能按钮。根据左侧点击的工具栏的不同按钮,以及打开的不同文件,工作区会显示相应的工作界面。
在这里插入图片描述

在左侧主工具栏点击“欢迎”按钮后显示的界面。

工作区的左侧有创建项目、打开项目、Get Started、项目、示例、教程、Markplace几个按钮,点击某个按钮后会在工作区显示相应的内容。

  • 点击项目按钮,工作区会显示最近打开过的项目,以便快速选择项目。
  • 点击示例按钮,工作区会显示Qt自带的大量示例项目,点击某个项目就可以在QtCreator中打开该项目源程序。
  • 点击教程按钮,工作区会显示各种教程。
  • 点击Get Started 按钮,工作区会切换到帮助界面,相当于在主工具栏上点击Help按钮。

可以对Qt Creator进行一些设置,例如,刚刚安装的Qt Creator的界面语言可能是中文,但是很多术语翻译得并不恰当,我们可以将Qt Creator的界面语言设置为英语。点击编辑->Preferences进行设置界面。
在这里插入图片描述
根据自己的需要进行配置更改,例如:调整字体大小等。

1.3.2 新建Gui工程

1.选择菜单中的 文件->New Project…,弹出工程模板选择界面。
我们从Application(Qt)中选择具体模板,一共有四个,分别是:
Qt Widgets Application: 基于界面组件的应用,具有窗口的GUI程序
Qt Console Appication:控制台应用,没有GUI
Qt Quick Application:基于Qt Quick的应用,需要使用QML编程
Qt Quick Application(compat):基于Qt Quick的应用(具有兼容性)
这里选择Qt Widgets Application第一个模板即可。
在这里插入图片描述

2.填入工程名,同时选择工程存放位置,注意存放位置不要有中文路径
在这里插入图片描述

3.选择构建系统界面,可以选择qmake、Cmake、Qbs,这里先选择qmake
在这里插入图片描述

4.选择窗口基类,有三个基类可供选择,分别是:
QMainWindow:主窗口类,具有菜单栏、工具栏和状态栏
QWidget:所有界面组件类的基类
QDialog:对话框类,窗口具有对话框的显示效果
此处选择QWidget

在这里插入图片描述

5.选择翻译文件,本示例不需要设计多语言界面
在这里插入图片描述

6.选择开发套件,针对当前环境使用MinGW 64-bit套件
在这里插入图片描述

7.根据需要设置项目管理信息,然后点击“完成”按钮。
在这里插入图片描述

8.在建立好的工程中选中工程项目中的ui界面文件,双击打开。
在这里插入图片描述

9.选择一个Push Button,将其拖到右侧区域中。

在这里插入图片描述

10.点击绿色箭头按钮,运行程序,生成一个和ui文件一样的窗口界面。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值