当前位置: 首页 > news >正文

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

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 。

相关文章:

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

Qt 是一个跨平台应用开发框架(framework),它是用 C语言写的一套类库。使用 Qt 能为 桌面计算机、服务器、移动设备甚至单片机开发各种应用(application),特别是图形用户界面 (graphical user in…...

2023年网络安全比赛--跨站脚本攻击②中职组(超详细)

一、竞赛时间 180分钟 共计3小时 二、竞赛阶段 1.访问服务器网站目录1,根据页面信息完成条件,将获取到弹框信息作为flag提交; 2.访问服务器网站目录2,根据页面信息完成条件,将获取到弹框信息作为flag提交; 3.访问服务器网站目录3,根据页面信息完成条件,将获取到弹框信息…...

网络安全实验室4.注入关

4.注入关 1.最简单的SQL注入 url:http://lab1.xseclab.com/sqli2_3265b4852c13383560327d1c31550b60/index.php 查看源代码,登录名为admin 最简单的SQL注入,登录名写入一个常规的注入语句: admin’ or ‘1’1 密码随便填,验证…...

领域搜索算法之经典The Lin-Kernighan algorithm

领域搜索算法之经典The Lin-Kernighan algorithmThe Lin-Kernighan algorithm关于算法性能提升的约束参考文献领域搜索算法是TSP问题中的三大经典搜索算法之一,另外两种分别是回路构造算法和组合算法。 而这篇文章要介绍的The Lin-Kernighan algorithm属于领域搜索算…...

深度学习基础-机器学习基本原理

本文大部分内容参考《深度学习》书籍,从中抽取重要的知识点,并对部分概念和原理加以自己的总结,适合当作原书的补充资料阅读,也可当作快速阅览机器学习原理基础知识的参考资料。 前言 深度学习是机器学习的一个特定分支。我们要想…...

C语言操作符详解 一针见血!

目录算数操作符移位操作符位操作符赋值操作符单目操作符关系操作符逻辑操作符条件操作符逗号表达式下标引用、函数调用和结构成员表达式求值11.1 隐式类型转换算数操作符💭 注意/ 除法 --得到的是商% 取模(取余)--得到的是余数如果除法操作符…...

前端面试题汇总

一:JavaScript 1、闭包是什么?利弊?如何解决弊端? 闭包是什么:JS中内层函数可以访问外层函数的变量,外层函数无法操作内存函数的变量的特性。我们把这个特性称作闭包。 闭包的好处: 隔离作用…...

以数据驱动管理场景,低代码助力转型下一站

数据驱动 数据驱动,是通过移动互联网或者其他的相关软件为手段采集海量的数据,将数据进行组织形成信息,之后对相关的信息讲行整合和提炼,在数据的基础上经过训练和拟合形成自动化的决策模型,简单来说,就是…...

2023年全国数据治理DAMA-CDGA/CDGP考试报名到弘博创新

弘博创新是DAMA中国授权的数据治理人才培养基地,贴合市场需求定制教学体系,采用行业资深名师授课,理论与实践案例相结合,快速全面提升个人/企业数据治理专业知识与实践经验,通过考试还能获得数据专业领域证书。 DAMA认…...

流程控制之循环

文章目录五、流程控制之循环5.1 步进循环语句for5.1.1 带列表的for循环语句5.1.2 不带列表的for循环语句5.1.3 类C风格的for循环语句5.2 while循环语句5.2.1 while循环读取文件5.2.2 while循环语句示例5.3 until循环语句5.4 select循环语句5.5 嵌套循环5.4 利用break和continue…...

SpringDataRedis快速入门

SpringDataRedis快速入门1.SpringDataRedis简介2.RedisTemplate快速入门3.RedisSerializer4.StringRedisTemplate1.SpringDataRedis简介 SpringData是Spring中数据操作的模块,包含对各种数据库的集成,其中对Redis的集成模块就叫做SpringDataRedis Spri…...

MySQL 的执行计划 explain 详解

目录 什么是执行计划 执行计划的内容 select子句的类型 访问类型 索引的存在形式...

2023年网络安全比赛--Web综合渗透测试中职组(超详细)

一、竞赛时间 180分钟 共计3小时 二、竞赛阶段 1.通过URL访问http://靶机IP/1,对该页面进行渗透测试,将完成后返回的结果内容作为FLAG值提交; 2.通过URL访问http://靶机IP/2,对该页面进行渗透测试,将完成后返回的结果内容作为FLAG值提交; 3.通过URL访问http://靶机IP/3,对…...

【c++之于c的优化 - 下】

前言 一、inline 概念 以inline修饰的函数叫做内联函数,编译时C编译器会在调用内联函数的地方展开,没有函数调用建立栈帧的开销,内联函数提升程序运行的效率。 如果在上述函数前增加inline关键字将其改成内联函数,在编译期间编译…...

MySQL事务管理

文章目录MySQL事务管理事务的概念事务的版本支持事务的提交方式事务的相关演示事务的隔离级别查看与设置隔离级别读未提交(Read Uncommitted)读提交(Read Committed)可重复读(Repeatable Read)串行化&#…...

二维计算几何全家桶

参考文章&#xff1a;范神的神仙博客 前置芝士 一些高中数学 向量的叉积&#xff1a;向量的点积为 a⋅b∣a∣∣b∣cos⁡<a,b>a\cdot b|a||b|\cos<a,b>a⋅b∣a∣∣b∣cos<a,b>&#xff0c;向量的叉积为 ab∣a∣∣b∣sin⁡<a,b>a\times b|a||b|\sin<…...

基于图的下一代入侵检测系统

青藤云安全是一家主机安全独角兽公司&#xff0c;看名字就知道当前很大一块方向专注云原生应用安全&#xff0c;目前主营的是主机万相/容器蜂巢产品&#xff0c;行业领先&#xff0c;累计支持 800万 Agent。当前公司基于 NebulaGraph 结合图技术开发的下一代实时入侵检测系统已…...

若依框架---树状层级部门数据库表

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是小童&#xff0c;Java开发工程师&#xff0c;CSDN博客博主&#xff0c;Java领域新星创作者 &#x1f4d5;系列专栏&#xff1a;前端、Java、Java中间件大全、微信小程序、微信支付、若依框架、Spring全家桶 &#x1f4…...

【Mysql第十期 数据类型】

文章目录1. MySQL中的数据类型2.类型介绍2.2 可选属性2.2.2 UNSIGNED2.2.3 ZEROFILL2.3 适用场景2.4 如何选择&#xff1f;3. 浮点类型3.2 数据精度说明3.3 精度误差说明4. 定点数类型4.1 类型介绍4.2 开发中经验5. 位类型&#xff1a;BIT6. 日期与时间类型6.1 YEAR类型6.2 DAT…...

2023-2-9 刷题情况

删除子文件夹 题目描述 你是一位系统管理员&#xff0c;手里有一份文件夹列表 folder&#xff0c;你的任务是要删除该列表中的所有 子文件夹&#xff0c;并以 任意顺序 返回剩下的文件夹。 如果文件夹 folder[i] 位于另一个文件夹 folder[j] 下&#xff0c;那么 folder[i] 就…...

Homekit智能家居DIY设备-智能通断开关

智能通断器&#xff0c;也叫开关模块&#xff0c;可以非常方便地接入家中原有开关、插座、灯具、电器的线路中&#xff0c;通过手机App或者语音即可控制电路通断&#xff0c;轻松实现原有家居设备的智能化改造。 随着智能家居概念的普及&#xff0c;越来越多的人想将自己的家改…...

【java】EJB(Enterprise Java Bean)概述

EJB概述目录一、什么情况下需要企业Bean需要使用EJB的N个理由二、EJB的基本分类2.1、Enterprise Bean2.2、 Message Driven Bean(MDB)——消息驱动Bean,基于JMS三、定义客户端访问的接口3.1、 远程客户端——客户端与其调用的EJB对象不在同一个JVM进程中3.2、本地客户端——客户…...

Android 10.0 Launcher3桌面禁止左右滑动

1.1概述 在10.0的rom定制化开发中,由于Launcher3有一些功能需要定制,这样的需求也好多的,现在功能需求要求桌面固定在Launcher3的app列表页,不让左右移动,就是禁止左右移动的功能实现,所以需要禁止滑动分析页面滑动部分的功能,然后禁用 2.1Launcher3桌面禁止左右滑动的核…...

日期类的实现

文章目录1. 日期类的具体实现1.查询当前月份的天数2. 构造函数的实现(注意)3.d1d24. d1!d25. d1<d26. d1<d27. d1>d28. d1>d29. 日期天数10.日期天数11.日期-天数12. 日期-天数13. d和 d14. --d 和 d--15.日期日期 返回天数2. 函数的声明——date.h3. 函数的定义—…...

2022年这5款熟悉的软件退出了历史舞台

在过去的一年里&#xff0c;有很多新产品发布&#xff0c;当然也有很多产品与我们就此别过。这些产品曾陪伴我们的生活&#xff0c;给我们带来欢乐&#xff0c;帮助我们成长。所以本文将盘点一下在2022年和我们告别的产品。1.微软IE浏览器IE浏览器1995年8月16日正式上线&#x…...

用Nginx打包部署vue3项目及404和500解决

打包vue3 npm run build安装Nginx 这里安装步骤比较繁琐&#xff0c;现在服务器比较便宜&#xff0c;如果想用Nginx&#xff0c;可以去菜鸟教程https://www.runoob.com/linux/nginx-install-setup.html 配置安装一下找到安装路径下的 conf 文件夹 下 nginx.conf文件&#xff0…...

Java面试——多线程并发篇

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…...

维基百科数据抽取

1. 数据路径 https://dumps.wikimedia.org/enwiki/latest/ ----英文 https://dumps.wikimedia.org/zhwiki/latest/ ----中文 https://dumps.wikimedia.org/enwiki/latest/enwiki-latest-pages-articles.xml.bz2 --下载最新的 https://dumps.wikimedia.org/wikidatawiki/2023…...

2020年因果推断综述《A Survey on Causal Inference》

最近阅读了TKDD2020年的《A Survey on Causal Inference》&#xff0c;传送门&#xff0c;自己对文章按照顺序做了整理&#xff0c;同时对优秀的内容进行融合&#xff0c;如有不当之处&#xff0c;请多多指教。 文章对因果推理方法进行了全面的回顾&#xff0c;根据传统因果框…...

嵌入式linux系统测试程序编写

文章目录 网络CPU load监测性能设定开源测试工具iozone —— 文件系统测试工具iperf —— 网络性能测试工具LMbench —— 系统性能评测LTP —— linux功能/性能压力测试memtester —— 内存测试,坏位检测stressapptest —— 内存流量压力测试stream —— 内存性能测试fio ——…...

用服务器ip做网站/郑州seo网站排名

这是【综合类型第 14 篇】&#xff0c;如果觉得有用的话&#xff0c;欢迎关注专栏。 图片详情 分辨率&#xff1a;3840x2160原图大小&#xff1a;1100 KB 点击获取原图 提取码&#xff1a;w4f1 你的问题得到解决了吗&#xff1f;欢迎在评论区留言。 赠人玫瑰&#xff0c;手…...

黑龙江能源建设网站/最新的疫情情况

jupyter notebook 需要用谷歌浏览器打开才可以&#xff0c;其他的浏览器打开后多半是空白的。添加默认浏览器如下&#xff1a; 1.在anaconda prompt 里面直接输入 jupyter notebook --generate-config 让jupyter生成一个配置文件&#xff0c;生成后你会看到文件地址的2.然后就可…...

wordpress今日更新/广州网站外包

一下是我整理的asp.net的论坛列表&#xff1a; 1。 discuz --------http://nt.discuz.net 2. dvbbs------------http://bbs.dvbbs.net 3. dXbbs ----------http://www.dxbbs.net(它的源码要用Reflector反编译一下&#xff09;...

网站icp备案证书/重庆百度快照优化

偶然看到了华为高薪招聘八位博士的新闻&#xff0c;我比较感兴趣&#xff0c;于是找来他们的专业方向&#xff0c;想看看华为到底在哪些领域上下血本了。 自动学习机器视觉导航软件无线电建模语言设计与软件形式化方法功耗控制大数据计算数学一人未知同时这八位博士研究方向各不…...

做网站和开发app有什么不同/怎么自己创建一个网站

> undefined 与 null 相等&#xff0c;但不恒等&#xff08;&#xff09; > 1、一个是 number 一个是 string 时&#xff0c;会尝试将 string 转换为 number > 2、尝试将 boolean 转换为 number&#xff0c;0 或 1 > 3、尝试将 Object 转换成 number 或string&…...

做网站 用哪个网盘好/百家号官网

测试环境&#xff1a;Windows XP ProfessionMySQL 5.0.45Oracle 9iDB2 UDB 9.1测试的SQL脚本如下&#xff1a;此脚本适合MySQL、DB2&#xff0c;如果要在Oracle上执行&#xff0c;需要做个替换BIGINTINTEGER、VARCHARVARCHAR2。CREATETABLECUSTOMERS (ID BIGINT NOTNULL,NAME V…...