《Qt6 C++开发指南》学习笔记 第一章 认识Qt

1.1 Qt简介

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

1.1.1 Qt的跨平台开发能力

Qt的一个重要特点就是具有跨平台开发能力,Qt能用于如下一些设备和平台的应用开发:

  • 桌面应用开发,Windows、桌面Linux、macOS
  • 移动设备应用开发,Windows、Android、IOS\
  • 嵌入式设备应用开发,QNX、嵌入式Linux、VxWorks
  • MCU应用开发,目前只支持NXP、Renesas、ST、Infineon等公司的部分型号单片机开发板,实际产品开发需要深度定制

嵌入式设备的软件开发需要使用交叉编译开发方式:需要现在计算机上编写源程序,然后使用针对目标平台的编译器编译代码,再将编译出的二进制文件通过仿真器下载到目标设备上运行。

1.1.2 Qt的许可类型和安装包

1.1.3 QT支持的开发语言

  1. C++和QML
    Qt类库由C++编写,Qt对C++进行了扩展,引入了信号与槽、属性等机制
    QML是Qt自创的编程语言,类似于JavaScript的声明式语言
    Qt for MCUs目前只支持QML
  2. Python
    C++类库可以转换为Python绑定,可以用Python语言编程调用Qt类库进行GUI程序开发。
    PyQt是Riverbank Computing公司开发的Qt类库的Python绑定,是目前应用比较广泛的Qt类库的Python绑定;Qt for Python是Qt官方的项目,之后又开发了适配Qt5和Qt6的PySide。
    PySide采用商业许可和LGPLv3开源协议,比PyQt采用GPLv3更友好。

1.1.4 Qt6新特性

  • 支持C++17标准
  • Qt核心库改动
  • 新的图形架构
  • Cmake构建系统

1.2 Qt的安装

1.2.1 本书使用Qt版本

本书介绍如何用Qt框架和C++语言开发Windows桌面应用,不介绍使用QML编程和使用Python语言调用PySide6或PyQt6的编程,需安装Windows平台的Qt6.2.

1.2.2 安装Qt

  1. 进入Qt6官网Qt 6 - The latest version of Qt
    《Qt6 C++开发指南》学习笔记 第一章 认识Qt_第1张图片

  2. 进入开源版本页面(注:安装的Qt是否开源,与下载的安装包无关,只和注册账户有关)
    《Qt6 C++开发指南》学习笔记 第一章 认识Qt_第2张图片

  3. 拉到页面底部,点击开源安装包下载
    《Qt6 C++开发指南》学习笔记 第一章 认识Qt_第3张图片

  4. 选择版本进行下载
    《Qt6 C++开发指南》学习笔记 第一章 认识Qt_第4张图片

  5. 运行安装文件,注册Qt开源账户
    《Qt6 C++开发指南》学习笔记 第一章 认识Qt_第5张图片

    《Qt6 C++开发指南》学习笔记 第一章 认识Qt_第6张图片

  6. 设置安装路径和安装类型
    《Qt6 C++开发指南》学习笔记 第一章 认识Qt_第7张图片

  7. 安装Qt组件,如果发现可选安装组件比图中多,说明正在安装的是企业版,需要使用开源账户重新登录
    《Qt6 C++开发指南》学习笔记 第一章 认识Qt_第8张图片

  8. 书中安装的是Qt6.2.3,此教程安装的是Qt6.5.1

    • WebAssembly(TP):将Qt编写的程序编译为WebAssembly格式发布到Web浏览器上运行,不安装。TP为技术预览版本;

    • MSVC 2019 ARM64(TP):一般Windows计算机采用AMD64架构,而不是ARM64架构,不安装。

    • MSVC 2019 64-bit:本书在11章介绍Qt Creator的Widget插件时才必须使用,其他时候不使用。该组件必须单独安装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编程,不安装。

      《Qt6 C++开发指南》学习笔记 第一章 认识Qt_第9张图片

  9. 安装开发者工具组件

    • Qt Creator 6.0.2 Qt:的IDE软件,必须安装
    • Qt Creator 6.0.2 CDB Debugger Support:为Qt Creator安装CDB调试相关文件,要在Qt Creator中使用断点功能则必须安装。
    • Debugging Tools for Windows:为调试MSVC编译的程序提供的调试器和工具,不使用MSVC可以不安装
    • Qt Creator 6.0.2 Debug Symbols:为在Qt Creator中进行程序调试提供的符号文件,可不安装
    • Qt Creator 6.0.2 Plugin Development:为Qt Creator 开发插件所需的头文件和库文件,需要安装
    • Qt Design Studio 2.3.1-community:Qt Design Studio是QML编程设计界面的工具软件,本书不涉及,不需安装
    • MinGW:需安装
    • Qt Installer Framework 4.2:为发布应用软件制作安装包的工具软件,18章会介绍如何使用
    • CMake 3.2.1 64-bit:Cmake的构建工具,需安装
    • Ninja 1.10.2:小型构件系统,专注与构建速度。可安装
    • OpenSSL 1.1.1j Toolkit:安全套接字层是一种网络安全通信协议,本书不涉及OpenSSL编程使用,暂时不安装

    《Qt6 C++开发指南》学习笔记 第一章 认识Qt_第10张图片

  10. 等待下载完成,下载速度慢可参考QT6在线安装下载速度慢的解决办法

1.3 编写一个Hello World程序

1.3.1 QtCreator简介

1.3.2 新建一个GUI项目

  1. File->New File or Project
    《Qt6 C++开发指南》学习笔记 第一章 认识Qt_第11张图片

    • Qt Widgets Application: 基于界面组件的应用,具有窗口的GUI程序
    • Qt Console Appication:控制台应用,没有GUI
    • Qt Quick Application:基于Qt Quick的应用,需要使用QML编程
  2. 选择构建系统界面,可以选择qmake或Cmake,默认是qmake
    《Qt6 C++开发指南》学习笔记 第一章 认识Qt_第12张图片

  3. 选择窗口基类
    《Qt6 C++开发指南》学习笔记 第一章 认识Qt_第13张图片

    • QMainWindow:主窗口类,具有菜单栏、工具栏和状态栏
    • QWidget:所有界面组件类的基类
    • QDialog:对话框类,窗口具有对话框的显示效果
      此处选择QWidget
  4. 选择翻译文件
    《Qt6 C++开发指南》学习笔记 第一章 认识Qt_第14张图片
    本示例不需要设计多语言界面

  5. 选择开发套件
    《Qt6 C++开发指南》学习笔记 第一章 认识Qt_第15张图片
    本书项目一般使用MinGW 64-bit套件

1.3.3 项目的文件组成和管理

《Qt6 C++开发指南》学习笔记 第一章 认识Qt_第16张图片

  • .pro文件是使用qmake构建系统时的项目配置文件
  • Headers是项目内的C++头文件分组
  • Sources是C++源程序文件分组
  • Forms是项目的窗体文件分组
    双击.ui文件进入界面可视化设计页面,从Display Widgets分组中将一个Label标签拖放到设计窗体上面,双击编辑显示文字

    《Qt6 C++开发指南》学习笔记 第一章 认识Qt_第17张图片

1.3.4 项目的构建、调试与运行

每个开发套件的Build设置界面上,有一个Shadow build复选框,如果勾选,构建项目后将在项目同级目录下创建输出文件夹;否则将在项目的目录下创建文件夹debug和release用于存放输出文件。一般不需要修改,只有在需要输出多种构建版本的输出文件时才勾选。

你可能感兴趣的:(c++,学习,笔记,qt)