Qt 学习(一)
  • 2020 年 08 月 29 日
  • 129 次阅读
  • 1753 字
  • 暂无评论


基本上对照《Qt 5.9 C++ 开发指南》(人民邮电出版社)章节安排来总结。

第一章 认识qt

1.1 Qt简介

​ Qt是一套应用程序开发类库,但与 MFC 不同,Qt是跨平台的开发类库。Qt支持PC和服务器的平台,包括Windows、Linux、MacOS等,还支持移动和嵌入式操作系统,如ios、Embedded Linux、Android、WinRT等。跨平台意味着只需要编写一次程序,在不同平台上吴无需改动或只需要少许改动后再编译,就可以形成在不同平台上运行的版本。这种跨平台功能为开发者提供了极大的便利。

​ (简而言之,Qt是基于C++的一套开发类库,类似于一种框架,提供比C++更多的类与方法,使开发更快捷,更方便,但其实本质还是C++)

1.2 Qt获取与安装

1.2.1 Qt的许可类型

​ Qt的许可类型分为商业许可和开源许可,开源许可有分为LGPLV3和GPLV2、GPLV3。商业许可允许开发者不公开项目的源代码,其Qt版本包含更多的模块,并能获得Qt公司的技术支持。

​ 这里插一张网上比较常见的开源协议分析图,虽然我也不是很懂,仅作了解。
kyxyfx.png

1.2.2 Qt的版本

​ 目前版本是5.9

​ 对比Qt4有比较大的更新,在网上还是有一些早期的Qt4的资料,但是还是比较少了,大多数还是有关Qt5的。

​ 可访问Qt官方页面了解Qt5.0至Qt5.9版本更新的历程和每个版本的新增特性描述。

​ 本书以Qt5.9LTS 版本为例进行讲解,并且所有实例程序均使用Qt5.9编译通过。

​ 在公司办公刚开始用的是5.7 其实感觉是没有差太多,为了和书同步也更新至5.9。

1.2.3 Qt的下载与安装

​ Qt官网提供最新版本的Qt软件,根据开发项目的不同,Qt分为桌面和移动设备应用开发 、 嵌入式设备 开发两大类不同的安装包。

​ 桌面和移动设备应用开发 就是开发在PC、服务器、手机、平板电脑等设备上运行的程序,操作系统平台可以是WIndows、LInux、macOS、Android等。是具有开源许可协议的,是可以免费下载使用的。

​ 嵌入式设备开发是针对具体嵌入式设备来开发应用程序,如物联网设备、汽车电子设备、医疗设备等特定的嵌入式设备。可下载30天试用版。

​ 在Qt官网注册用户,申请下载即可。

​ Qt5.9.1的安装包分为在线安装包和离线安装包,为便于重复安装,最好下载离线安装包。根据不同操作系统平台下载所需要的版本,这里选择Windows版本。

​ 安装包之中包含了多版本编译器,编译器的选择放在了安装过程中。

​ 安装过程中按照向导进行操作即可,选择安装组件要添加所需要的编译器版本,以及一些Qt独有的工具类和功能模块。

  • MinGW 5.3.0 32 bit编译器模块
  • 用于UWP编译模块
  • 用于windows平台上的MSVC编译器模块
  • Sources:Qt源程序
  • Qt Charts:二维图表模块
  • Qt Data Visualization:三维数据模块图表模块
  • Qt Purchasing、Qt WebEngine、Qt Network Auth(TP)(书上没有介绍具体功能,TP:Technology Preview技术预览)
  • QtCreator4.3.1 是用于Qt程序开发的IDE
  • MinGW5.3.0是MinGW编译工具链
  • Strawberry Perl是一个Perl语言工具

安装完成。

1.3 Qt Creator的初步使用

1.3.1 Qt Creator的界面组成
1.3.2 Qt Creator的设置

....这一部分感觉意义不是很大对照书打下来也没什么意义...

因为我下的版本好像比书上的还要更新

所以直接就是中文版 书中则是把每个英文单词翻译了一下,也具体的指了一些具体操作,这里搬运的意义不大,略过了。

1.4 编写一个Hello World程序

1.4.1 新建一个项目

新建基本都会,这里只摘书中对于几种项目类型的介绍

Application
  • Qt Widget Application 支持桌面平台的有图形用户界面(Graphic User Interface GUI)界面的应用程序。
  • Qt Console Application 控制台应用程序,无GUI界面,一般用于学习C/C++语言,只需要简单的输入输出操作时可创建此类项目。
  • Qt Quick Controls 2 Application 创建可部署的Qt Quick 2应用程序。Qt Quick是Qt支持的一套GUI开发框架,其界面设计采用QML语言,程序架构采用C++,利用Qt Quick可设计非常炫的用户界面,一般用于移动设备或者嵌入式设备上无边框的应用程序的设计
  • Qt Canvas 3D Application 创建Qt Canvas 3D QML项目,也是基于QML语言的界面设计支持3D画布。
Base class(创建界面基类)
  • QMainWindow 是主窗口类,主窗口类含有主菜单栏,工具栏和状态栏,类似于一般的应用程序主窗口
  • QWidget 是具有可视化界面类的基类 选择QWidget创建的界面对各种界面组件都可以支持(对比上一个基类就是少了菜单栏,工具栏和状态栏)
  • QDialog是对话框类,可建立一个基于对话框的界面。
1.4.2 项目的文件组成和管理

.pro 文件项目管理文件

.h 头文件

.cpp c++源文件

.ui 界面文件

​ 双击界面文件 会跳转在窗体设计界面,左侧组件面板,中间设计窗体,右侧上方窗体中包含的组件,右侧下方组件的属性编辑器

1.4.3 项目的编译、调试和运行

​ 书中讲的很迷幻,但是就其实....我是没多理解,直接选MinGW 然后选择shadow build运行。

​ Shadow build:选择后编译完成后只会生成一个文件目录,如果不选择此项编译后将在项目的目录下建立“Debug”和“Release”子目录用于存放编译后的文件。

1.5 在VS里使用Qt

​ 这一块,我直接跳过了,因为目前对于我的开发而言,基本上是基于Qt Creator的开发的,虽然项目组其他人也用VS,但是我对VS确实不熟悉,目前暂时就先不考虑了,等到必要的时候再换吧。

1.6 自我总结

​ 对照书搬运,感觉....意义是有的,但不知道有没有那么大... 但其实还是有些用的,有一些东西,打出来相当于重复记忆了吧,虽然感觉重复记忆其实没有记住

​ 写这个另一个原因就是博客还是要有些技术文的,好歹也算个半吊子程序员了吧,叹气,感觉承认自己是程序员的时候总是不是很有底气.... 还是要多总结的,早日可以肯定的承认自己是程序员吧。

​ 简单讲Qt开发指南这本书,从第一章开始,是相当入门的一本书了,简直就像是一本说明书,要怎么做,该怎么做,选择什么,干什么基本上是说的明明白白了。(当然只是在前两章是这么详细的,在后面加入了界面设计,就和网上多数讲解一样直接略过了界面设计,但其实也不怪书... 因为界面设计确实没代码。)


版权属于:如此

本文链接:https://www.songvei.cn/archives/75/


Qt

—— 暂无评论 ——