Qt学习及使用_第1部分_认识Qt---Qt简介

发布于:2025-06-09 ⋅ 阅读:(20) ⋅ 点赞:(0)

前言

        学以致用,通过QT框架的学习,一边实践,一边探索编程的方方面面.

        参考书:<Qt 6 C++开发指南>(以下称"本书")

        标识说明:概念用粗体+倾斜.重点内容用(加粗黑体)---重点内容(红字)---重点内容(加粗红字),

                        本书原话内容用深蓝色标识,比较重要的内容用加粗倾斜下划线深蓝色标识

引入

        Qt的一些认识,其中有些部分是所有框架都有的内容

Qt概述

        Qt是一个跨平台应用开发框架(framework),他是用C++语言写的一套类库.特别是图形用户界面(GUI)程序.

        Qt实质上是用C++编写的大型类库,他为跨平台应用开发提供了一个完整的框架.Qt框架包括大量的类,支持GUI、数据库、网络、多媒体等各种应用

        ---解读:应用是指程序员开发,被使用者所使用的程序,也是通常所说的app(移动端).

                    框架是半成品应用,和类库可以理解成是一个东西(上面提到了Qt实质上是一个大型类库).框架可以包含其他框架,类库,也就是说框架可以迭代(递进定义)的.

                    框架内容和文件相同,含数据类型定义,函数定义,全局变量定义等,以面向对象的角度,他们都被定义在类或者接口中.

                    站在程序员的角度,框架封装了硬件标准.框架的内容是模块化的,例如上面说了框架包括GUI、数据库等应用.这里的"应用"和框架一样可能是半成品需要程序员完善.        ---以上为解读

跨平台

        经常听到说什么语言什么框架是跨平台的.笔者把平台简单理解成操作系统.语言或框架都会成为机器码交给CPU执行.所谓跨平台是指语言针对平台(操作系统)开发了对应的编译器,使得操作系统可以识别代码,跨平台由语言或者框架实现,而不是平台主动适应他.

目标平台和主机平台

        目标平台就是开发的Qt代码可以被使用的操作系统.本书列举了几大块,包括桌面端、移动端、嵌入式设备(没有提到web端,就是不支持web开发)桌面端的几种操作系统:Windows,Linux和macOS都支持;移动端的Android,iOS,Windows(这个现在很少了)都支持

        在嵌入式系统中,支持嵌入式Linux,QNX,VxWorks,这些嵌入式设备一般有较强的处理器CPU和丰富的存储器资源,例如轿车的全液晶仪表盘.

        ---解读:这里对电子设备应该有个认识:全液晶仪表盘和电脑一样有CPU,操作系统和内存,显示器.他和个人计算机(PC)的区别在于:

        1.输入方式:个人计算机支持鼠标键盘输入,仪表盘可能没有输入或者有触摸或者其他方式输入

        2.任务:个人计算机是多任务系统,仪表盘是专门任务---显示汽车某些状态        ---以上为解读

        MCU的应用开发:只支持部分单片机开发板,实际产品开发需要深度定制.

        计算机称为主机,主机包括Windows、桌面Linux、macOS等不同主机平台,Qt提供了安装在这3种主机平台上的对应版本.要针对某个目标平台开发应用,必须使用对应平台的Qt.

        ---解读:目标平台不同,开发的Qt版本不同,在本书P2表1-1有说明     

                    这一点不用太担心,笔者估计差别也不大                               ​​​​​​​        ​​​​​​​        ---以上为解读

Qt的高效率

        用Qt编写的源代码经过编译后是在目标平台上运行的原生二进制代码,不想Java代码那样需要虚拟机来运行,所以具有很高的运行效率

Qt许可类型

        Qt许可分为商业许可和开源许可,开源许可又分为GPL许可和LGPL许可.

        商业许可:使用者需要向Qt公司付费(某些模块只有商业许可版本才有),被允许不公开源代码

        GPL许可:用户必须开源,允许商业化销售

        LGPL许可:两种情况--1.修改LGPL许可的Qt代码,必须开源,允许商业化销售

                                           2.以库形式链接或调用使用LGPL许可的Qt代码,可闭源可销售.

        ----因为商业方面不太懂,所以暂时不考虑.先想办法把应用写出来.

小结

        初步认识Qt