学Qt想系统的学习,看哪本书?

news2024/11/28 10:36:19

Qt 是一个跨平台应用开发框架(framework),它是用 C++语言写的一套类库。使用 Qt 能为 桌面计算机、服务器、移动设备甚至单片机开发各种应用(application),特别是图形用户界面 (graphical user interface ,GUI)程序。经过 30 多年的发展,Qt 的使用越来越广泛, 功能越来越丰 富,已成为跨平台应用开发的首选 C++框架。本章先介绍 Qt 的技术特点、Qt 6 的新特性等内容, 再介绍 Qt 6 的安装,以及 Qt 自带的开发工具 Qt Creator 的基本使用方法。

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

学习Qt,小编推荐《Qt 6 C++开发指南》

Qt 6 C++开发指南

基于Qt6.2版本,《Qt5.9C++开发指南》版本内容重大升级,涵盖新的功能模块和开发技术,附赠大量示例演示程序和示例源代码,轻松开发GUI程序!

本书以Qt 6为开发平台,系统介绍如何用Qt C++开发应用程序。首先介绍Qt C++应用程序的基本结构、界面可视化设计和布局管理方法、元对象系统的功能及其应用等基本内容,然后深入讲解常用界面组件、模型/视图结构、事件处理、对话框和多窗口程序设计、文件读写等功能的编程方法,以及数据库、多线程、网络、多媒体、图表、数据可视化、串口通信等功能模块的使用。本书内容丰富,辅以大量精心设计的完整示例程序,涵盖进行GUI程序设计所需掌握的各种技术主题。

推荐理由:

由浅入深,手把手指导读者了解Qt程序开发并动手实践。

读者对象

本书内容概述

本书系统地介绍了使用Qt C++开发应用程序所涉及的技术原理和主要功能模块的使用方法。 全书共 18 章,章节内容基本是按照循序渐进的学习顺序编排的。

第 1 章是对 Qt 的介绍,使初学者对 Qt 有总体的了解。

第 2 章介绍GUI 程序设计的基础,包括 GUI 应用程序的基本结构和工作原理、界面可视化设 计方法、图标等资源的使用、CMake 构建系统等。通过第 2 章的内容就能够了解 Qt C++开发 GUI 应用程序的基本方法,后续的学习就只是各种界面组件和功能模块的使用了。

第 3 章介绍 Qt 框架中的一些底层功能和类,特别是元对象系统。元对象系统是 Qt 的核心功 能,包含信号与槽、属性系统、对象树等功能。深入理解元对象系统的功能和使用方法,可以更 灵活地运用 Qt 的编程功能。

第 4 章介绍常用界面组件的使用,学会了这些组件的使用,就可以设计一般的 GUI 应用程序了。

第 5 章至第 17 章介绍 GUI 应用程序开发中常用的一些编程方法和功能模块的使用,包括 模型/视图结构、事件处理、对话框和多窗口程序设计、文件读写等功能的编程方法,以及数 据库、多线程、网络、多媒体、串口通信等功能模块的使用。读者可以根据自己的需要学习相 应的章节。

第 18 章介绍了 Qt 中辅助 GUI 应用程序开发的一些技术和工具软件的使用,包括设计多语 言界面的应用程序,使用 Qt 样式表设计自定义界面效果,发布 Qt 编写的应用程序并制作安装 文件。

本书的内容几乎是全部重新编写的,即使是《Qt 5.9 C++开发指南》中已有的一些章节和示例, 也重新整理了文字表述,对相关程序进行了优化。相对于《Qt 5.9 C++开发指南》,本书变动较大 的内容如下:

• 新增了第 6 章,详细介绍事件处理的编程方法。

• 新增了第 17 章,介绍串口通信编程,这对于工控相关专业人员编写上位机程序是比较实用的。

• 第 16 章的内容是全新的,因为 Qt 6 的多媒体模块是全新的,与 Qt 5 的多媒体模块完全不兼容。

• 第 10 章中增加了图像处理的编程内容,介绍用QImage 实现简单的图像处理,以及打印功 能的编程实现方法。

• 第 18 章中增加了对 Qt Install Framework 软件的介绍,使用该软件可以为发布的 Qt 应用程 序制作安装文件。

本书包含大量完整的示例项目,读者可以从人民邮电出版社异步社区下载本书所有示例的源 代码。同时,为了便于读者查看示例的运行效果, 以及避免使用不同版本的 Qt 编译示例项目时可 能出现错误,我们专门为本书示例编写了一个软件,将全书所有示例的可执行文件集成到这个软 件里。通过运行此软件,读者可以浏览本书所有的示例,每个示例有简介和主要界面截图(如图 0 所示),双击一个示例节点就可以运行该示例的可执行文件。该软件用Qt 6.2 开发,使用 Qt Install Framework 制作了安装文件。

图 0 全书示例集成软件运行时界面

本书特点和使用约定

本书只介绍 Qt C++编程,不涉及 Qt 支持的另一种语言 QML 的编程,也不涉及 Qt for Python 的编程,有关这些内容需要查看专门的书。Qt 的内容范围非常广泛,本书只介绍了GUI 应用程序 设计中常用的一些技术和功能模块。读者通过学习本书的内容并掌握 Qt C++开发 GUI 应用程序的 方法后,就可以在实际开发中解决具体的问题,以及自学新的模块或类的使用。

本书包含大量示例项目,有些示例项目具有一定的难度,这也是本书的一大特点。学习编程 需要动手实践,单纯看书是无法学会编程的。要想完全掌握本书的内容,将书中的示例自己编程 实现一遍是最有效的方法。

本书不适合对 C++语言零基础的读者阅读。读者需要基本掌握 C++语言编程的基本原理并对 类的概念和使用比较熟悉后,再学习本书的内容。

本书介绍 GUI 应用程序设计时,一般采用 Qt Designer 进行可视化界面设计,而不会采用纯 代码方式设计用户界面,这是因为使用可视化方法设计用户界面效率更高,也更适合初级水平的 编程者。当然,本书也介绍了创建界面和布局的代码的原理,读者了解这些原理后,就可以看懂 以纯代码方式创建界面的程序。

Qt 6 中引入了CMake 构建系统,本书第 2 章会介绍CMake 构建系统的基本用法。CMake 功 能强大,更适用于大型项目的管理。要完全掌握并灵活使用 CMake 比较难, 因此本书的绝大部分 示例仍使用 qmake 构建系统。

本书所有示例的开发环境和测试环境是 Qt 6.2.3 MinGW 64-bit ,Qt 6.2.3 MSVC2019 64bit ,Qt Creator 6.0.2 ,Windows 10 。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/331508.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

虹科分享|在ntopng中使用多用户模式

并非所有 ntop 用户都知道 ntopng 本机实现了多用户支持。也就是说,您可以使用ntopng收集和分析来自多个用户的流量,并向每个用户显示自己的流量,隐藏其余所有流量。 您需要做的就是非常简单: 1. 启动 ntopng 并将其配置为接收受…

Python将字典转换为csv

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。喜欢通过博客创作的方式对所学的知识进行总结与归纳,不仅形成深入且独到的理…

设计模式C++实现4:装饰模式

前言 参考大话设计模式; 详细内容参见大话模式一书第六章,该书使用C#实现,本实验通过C语言实现。 装饰模式(Decorator),动态地给一个对象添加一些额外的职责,就增加功能来说,装饰…

MapReduce工作原理

一.MapReduce工作流程图 1、分片操作:FileInputstream,首先要计算切片大小,FileInputstream是一个抽象类,继承InputFormat接口,真正完成工作的是它的实现类,默认为是TextInputFormat,TextInputF…

docker一键部署网址导航+博客+管理系统(强势开源)

花森门户 在线地址(首次加载请耐心等待):http://n.huasen.cc/ 码云仓库地址:https://gitee.com/HuaSenJioJio/huasenjio-compose Github仓库地址:https://github.com/huasenjio/huasenjio-compose huasenjio 系列网站增添新作品,&…

CSCCTF-2019-Qual-FlaskLight

网页里有提示 参数为search,GET传值 测试{{7*7}} 存在SSTI模板注入,在这里简单介绍python魔法函数,与Flask内置 __class__ 返回类型所属的对象 __mro__ 返回一个包含对象所继承的基类元组,方法在解析时按照元组的顺序解析。 __bas…

Dropout的深入理解(基础介绍、模型描述、原理深入、代码实现以及变种)

目录前言一、DropOut简介1-1、DropOut论文图解1-2、DropOut介绍1-3、DropOut产生动机1-4、DropOut流程简介二、模型描述2-1、公式描述2-2、神经网络图描述2-3、一些需要注意的问题!三、Dropout代码实现以及相关变种(部分有实现)3-1、Dropout实…

Part 4 描述性统计分析(占比 10%)——上

文章目录【后续会持续更新CDA Level I&II备考相关内容,敬请期待】【考试大纲】【考试内容】【备考资料】1、统计基本概念1.1、统计学的含义及应用1.1.1、统计学的含义1.2.1、统计学的应用1.2、统计学的基本概念1.2.1、数据及数据的分类1.2.2、总体和样本1.2.3、…

体系结构原则

构建和设计软件解决方案时应考虑到可维护性。 本部分概述的原则可帮助指导你作出体系结构决策,生成简洁、可维护的应用程序。 一般而言,在这些原则的指导下构建的应用程序各部分间可通过显式接口或消息传送系统进行通信,并非松散耦合的离散组…

WinRAR自解压实现安装程序并开机自启

1、选择要打包的文件,右键添加到压缩文件,勾选“创建自解压格式压缩文件” 2、切换到高级,选择“自解压文件选项” 3、常规 - 指定解压缩路径 4、安装 - 解压缩后运行指定程序 5、模式 - 隐藏全部 全部显示:显示启动对话框&#…

bcript 算法

一、简介 今天要给大家介绍的一种“加密”算法叫做 bcrypt,bcrypt 是由 Niels Provos 和 David Mazires 设计的密码哈希函数,他是基于 Blowfish 密码而来的,并于 1999 年在 USENIX 上提出。 除了加盐来抵御 rainbow table 攻击之外&#xf…

Vue3电商项目实战-首页模块6【22-首页主体-补充-vue动画、23-首页主体-面板骨架效果、4-首页主体-组件数据懒加载、25-首页主体-热门品牌】

文章目录22-首页主体-补充-vue动画23-首页主体-面板骨架效果24-首页主体-组件数据懒加载25-首页主体-热门品牌22-首页主体-补充-vue动画 目标: 知道vue中如何使用动画,知道Transition组件使用。 当vue中,显示隐藏,创建移除&#x…

C语言基础(十)—— 文件操作

1. 概述1.1磁盘文件和设备文件磁盘文件指一组相关数据的有序集合,通常存储在外部介质(如磁盘)上,使用时才调入内存。设备文件在操作系统中把每一个与主机相连的输入、输出设备看作是一个文件,把它们的输入、输出等同于对磁盘文件的读和写。1.2 磁盘文件的…

【C++】nullptr C++中的空指针(C++11)

前言 在平时我们写C/C代码时你可能会看到有人使用NULL表示空指针,也有人用nullptr表示空指针,那么你可能会很好奇它们都是空指针吗?为什么空指针有两种写法?下面就带你了解这背后的原理。 我们都知道NULL是C语言中的空指针&#x…

JDK14 新特性详解,2020-03-17 正式发布

预览版:该功能在当前版本可以使用,如果效果不是很好的话,可能以后的其他版本就会删去该功能。 最终版:该功能在之前版本效果很好,之后的每个版本中都会存在该功能。 1、Switch(最终版) 和之前…

从线程原理的角度来看C++内存的使用

文章目录线程的内存结构栈帧线程/进程调度线程的进一步使用线程安全和可重入一般的内存使用static变量使用new关键字,访问堆上的内存类中的内存使用从上一篇文章来看,线程的使用是比较简单的。但是在c环境下使用线程,最难也是最麻烦的点在于对…

云原生安全2.X 进化论系列|揭秘云原生安全2.X的五大特征

随着云计算技术的蓬勃发展,传统上云实践中的应用升级缓慢、架构臃肿、无法快速迭代等“痛点”日益明显。能够有效解决这些“痛点”的云原生技术正蓬勃发展,成为赋能业务创新的重要推动力,并已经应用到企业核心业务。然而,云原生技…

Mysql 数据类型

1、数值数据类型 1.1 整数类型(精确值) INTEGER, INT, SMALLINT, TINYINT, MEDIUMINT, BIGINT MySQL支持SQL标准的整数类型INTEGER (或INT)和SMALLINT。作为标准的扩展,MySQL还支持整数类型TINYINT、MEDIUMINT和BIGINT。下表显示了每种整数类型所需的存储和范围。…

13.计算机视觉

13.计算机视觉 目录 图像增广 常用的图像增广方法 翻转和裁剪改变颜色结合多种图像增广方法 使用图像增广进行训练 多GPU训练 总结 微调 步骤 热狗识别获取数据集定义和初始化模型微调模型 总结 目标检测和边界框 边界框总结 目标检测数据集 下载数据集读取数据集演示总结 锚…

【3】深度学习之Pytorch——如何使用张量处理表格数据集(葡萄酒数据集)

张量是PyTorch中数据的基础。神经网络将张量输入并产生张量作为输出,实际上,神经网络内部和优化期间的所有操作都是张量之间的操作,而神经网络中的所有参数(例如权重和偏差)也都是张量。 怎样获取一条数据、一段视频或…