给大家带来的一篇关于Qt开发相关的电子书资源,介绍了关于QT5.9编程方面的内容,本书是由人民邮电出版社出版,格式为PDF,资源大小276.3 MB,王维波编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:7.9。

内容介绍

Qt 5.9 C++开发指南

内容介绍

这书务求较为全方位地详细介绍Qt C 开发设计手机应用程序的技术性,有下列好多个特性。

1.以Qt 5.9 LTS为开发设计用版本号,是现阶段新版本的Qt,将来3年内有不断的适用(上1个LTS版本号是Qt 5.6)。

2.详细介绍了Qt Charts, Data Visualization控制模块的应用,它是Qt 5.7之后才出現在小区版Qt中的控制模块,别的书藉沒有详细介绍过的。

3.潜心解读Qt C 程序编写,內容全方位而深层次。每一程序编写主题风格都精心策划了详细的案例程序流程,根据案例程序流程解读关键类的应用。案例重视具体程序编写要求,许多案例编码能够立即用以应用开发。

4.这书內容分配上由浅入深,程序编写主题风格与案例的解读也彻底立在学生的视角,既解读基本原理,也解读编码保持,让用户跟随之书的內容就能把握技术性关键点。

这书以Qt 5.9 LTS版本号为平台,详解了Qt C 开发设计手机应用程序的技术性,包含Qt手机应用程序的基础构架、数据信号与槽工作方案、图型显示信息的Graphics/View构架、统计数据编写和显示信息的Model/View构架、提示框和多窗口的设计构思与启用方式 等,详细介绍了常见页面部件、文档读写能力、制图、数据图表、大数据可视化、数据库查询、多核、互联网和多媒体系统等控制模块的应用。每一程序编写主题风格都精心策划了详细的案例程序流程。 根据阅读文章这书,可掌握Qt C 开发设计手机应用程序需要的基础技术性。这书合适具备C 编程语言基本,期待运用Qt C 开发设计平台手机应用程序的用户阅读文章。

目录

第 1章 认识Qt 1

1.1 Qt简介 1

1.2 Qt的获取与安装 1

1.2.1 Qt的许可类型 1

1.2.2 Qt的版本 2

1.2.3 Qt的下载与安装 2

1.3 Qt Creator初步使用 5

1.3.1 Qt Creator的界面组成 5

1.3.2 Qt Creator的设置 6

1.4 编写一个Hello World程序 7

1.4.1 新建一个项目 7

1.4.2 项目的文件组成和管理 10

1.4.3 项目的编译、调试与运行 11

1.5 在Visual Studio里使用Qt 13

第 2章 GUI应用程序设计基础 16

2.1 UI文件设计与运行机制 16

2.1.1 项目文件组成 16

2.1.2 项目管理文件 16

2.1.3 界面文件 17

2.1.4 主函数文件 19

2.1.5 窗体相关的文件 20

2.2 可视化UI设计 25

2.2.1 实例程序功能 26

2.2.2 界面组件布局 26

2.2.3 信号与槽 29

2.2.4 可视化生成槽函数原型和

框架 30

2.3 代码化UI设计 34

2.3.1 实例功能 34

2.3.2 界面创建 34

2.3.3 信号与槽的关联 37

2.4 混合方式UI设计 37

2.4.1 设计目的 37

2.4.2 创建项目并添加资源文件 38

2.4.3 设计Action 39

2.4.4 设计菜单和工具栏 41

2.4.5 代码创建其他界面组件 44

2.4.6 Action的功能实现 45

2.4.7 手工创建的组件的

信号与槽 47

2.4.8 为应用程序设置图标 48

2.5 Qt Creator使用技巧 48

第3章 Qt类库概述 50

3.1 Qt核心特点 50

3.1.1 概述 50

3.1.2 元对象系统 50

3.1.3 属性系统 52

3.1.4 信号与槽 53

3.1.5 元对象特性测试实例 55

3.2 Qt全局定义 59

3.2.1 数据类型定义 60

3.2.2 函数 60

3.2.3 宏定义 61

3.3 容器类 62

3.3.1 容器类概述 62

3.3.2 顺序容器类 63

3.3.3 关联容器类 64

3.4 容器类的迭代 66

3.4.1 Java类型迭代器 66

3.4.2 STL类型迭代器 68

3.4.3 foreach关键字 69

3.5 Qt类库的模块 70

3.5.1 Qt基本模块 71

3.5.2 Qt附加模块 71

3.5.3 增值模块 72

3.5.4 技术预览模块 72

3.5.5 Qt工具 73

第4章 常用界面设计组件 74

4.1 字符串与输入输出 74

4.1.1 字符串与数值之间的转换 74

4.1.2 QString的常用功能 76

4.2 SpinBox的使用 78

4.3 其他数值输入和显示组件 80

4.3.1 实例功能 80

4.3.2 各组件的主要功能和属性 80

4.3.3 实例功能的代码实现 82

4.4 时间日期与定时器 84

4.4.1 时间日期相关的类 84

4.4.2 日期时间数据与字符串之间的

转换 84

4.4.3 QCalendarWidget日历组件 87

4.4.4 定时器的使用 87

4.5 QComboBox和QPlainTextEdit 89

4.5.1 实例功能概述 89

4.5.2 QComboBox的使用 89

4.5.3 QPlainTextEdit的使用 91

4.6 QListWidget和QToolButton 93

4.6.1 实例功能简介 93

4.6.2 界面设计 94

4.6.3 QListWidget的操作 97

4.6.4 QToolButton与下拉式

菜单 99

4.6.5 创建右键快捷菜单 101

4.7 QTreeWidget和QDockWidget 102

4.7.1 实例功能概述 102

4.7.2 界面设计 103

4.7.3 QTreeWidget操作 105

4.7.4 QLabel和Qpixmap

显示图片 110

4.7.5 QDockWidget的操作 111

4.8 QTableWidget的使用 112

4.8.1 QTableWidget概述 112

4.8.2 界面设计与初始化 113

4.8.3 QTableWidget操作 114

第5章 Model/View结构 120

5.1 Model/View结构 120

5.1.1 Model/View基本原理 120

5.1.2 数据模型 121

5.1.3 视图组件 122

5.1.4 代理 122

5.1.5 Model/View结构的一些

概念 123

5.2 QFileSystemModel 125

5.2.1 QFileSystemModel类的

基本功能 125

5.2.2 QFileSystemModel的

使用 125

5.3 QStringListModel 127

5.3.1 QstringListModel

功能概述 127

5.3.2 QStringListModel的使用 127

5.4 QStandardItemModel 130

5.4.1 功能概述 130

5.4.2 界面设计与主窗口类

定义 131

5.4.3 QStandardItemModel的

使用 132

5.5 自定义代理 139

5.5.1 自定义代理的功能 139

5.5.2 自定义代理类的基本

设计要求 139

5.5.3 基于QSpinBox的自定义

代理类 139

5.5.4 自定义代理类的使用 141

第6章 对话框与多窗体设计 143

6.1 标准对话框 143

6.1.1 概述 143

6.1.2 QFileDialog对话框 144

6.1.3 QColorDialog对话框 146

6.1.4 QFontDialog对话框 146

6.1.5 QInputDialog标准输入

对话框 147

6.1.6 QMessageBox消息对话框 149

6.2 自定义对话框及其调用 150

6.2.1 对话框的不同调用方式 150

6.2.2 对话框QWDialogSize的

创建和使用 152

6.2.3 对话框QWDialogHeaders的

创建和使用 154

6.2.4 对话框QWDialogLocate的

创建与使用 156

6.2.5 利用信号与槽实现交互

操作 160

6.3 多窗体应用程序设计 162

6.3.1 主要的窗体类及其用途 162

6.3.2 窗体类重要特性的设置 163

6.3.3 多窗口应用程序的设计 165

6.4 MDI应用程序设计 170

6.4.1 MDI简介 170

6.4.2 文档窗口类QFormDoc的

设计 171

6.4.3 MDI主窗口设计与子窗口的

使用 173

6.5 Splash与登录窗口 176

6.5.1 实例功能概述 176

6.5.2 对话框界面设计和类

定义 177

6.5.3 QDlgLogin类功能实现 178

6.5.4 Splash登录窗口的使用 181

第7章 文件系统和文件读写 182

7.1 文本文件读写 182

7.1.1 实例功能概述 182

7.1.2 QFile读写文本文件 182

7.1.3 QFile和QTextStream结合

读写文本文件 184

7.1.4 解决中文乱码的问题 185

7.2 二进制文件读写 186

7.2.1 实例功能概述 186

7.2.2 Qt预定义编码文件的读写 187

7.2.3 标准编码文件的读写 192

7.3 文件目录操作 197

7.3.1 文件目录操作相关的类 197

7.3.2 实例概述 197

7.3.3 QCoreApplication类 199

7.3.4 QFile类 199

7.3.5 QFileInfo类 200

7.3.6 QDir类 201

7.3.7 QTemporaryDir和

QTemporaryFile 203

7.3.8 QFileSystemWatcher类 203

第8章 绘图 206

8.1 QPainter基本绘图 206

8.1.1 QPainter绘图系统 206

8.1.2 QPen的主要功能 209

8.1.3 QBrush的主要功能 210

8.1.4 渐变填充 212

8.1.5 QPainter绘制基本图形

元件 214

8.2 坐标系统和坐标变换 217

8.2.1 坐标变换函数 217

8.2.2 坐标变换绘图实例 218

8.2.3 视口和窗口 221

8.2.4 绘图叠加的效果 223

8.3 Graphics View绘图架构 224

8.3.1 场景、视图与图形项 224

8.3.2 Graphics View的坐标

系统 226

8.3.3 Graphics View相关的类 227

8.3.4 Graphics View程序基本结构

和功能实现 229

8.3.5 Graphics View绘图程序

实例 235

第9章 Qt Charts 247

9.1 Qt Charts概述 247

9.1.1 Qt Charts模块 247

9.1.2 一个简单的QChart绘图

程序 248

9.1.3 图表的主要组成部分 249

9.2 QChart绘制折线图 253

9.2.1 实例功能 253

9.2.2 主窗口类定义和初始化 253

9.2.3 画笔设置对话框

QWDialogPen 256

9.2.4 QChart的设置 257

9.2.5 QLineSeries序列的设置 259

9.2.6 QValueAxis坐标轴的

设置 261

9.3 各种常见图表的绘制 263

9.3.1 实例功能概述 263

9.3.2 数据准备 264

9.3.3 柱状图 267

9.3.4 饼图 270

9.3.5 堆叠柱状图 273

9.3.6 百分比柱状图 274

9.3.7 散点图和光滑曲线图 276

9.4 图表的其他操作 277

9.4.1 实例功能概述 277

9.4.2 自定义QWChartView类 278

9.4.3 主窗口类的设计 280

9.4.4 实时显示光标处的数值 281

9.4.5 QLegendMarker的使用 282

9.4.6 图表的缩放 283

第 10章 Data Visualization 284

10.1 Data Visualization模块概述 284

10.2 三维柱状图 285

10.2.1 实例功能 285

10.2.2 主窗口设计 286

10.2.3 三维柱状图的创建 287

10.2.4 三维柱状图属性设置 289

10.3 三维散点图 293

10.3.1 绘制三维散点图 293

10.3.2 三维坐标轴的方向 296

10.3.3 散点形状与大小 296

10.4 三维曲面绘图 296

10.4.1 三维曲面图 296

10.4.2 三维地形图 301

第 11章 数据库 305

11.1 Qt SQL模块概述 305

11.1.1 Qt SQL支持的数据库 305

11.1.2 SQLite数据库 306

11.1.3 Qt SQL模块的主要类 308

11.2 QSqlTableModel的使用 309

11.2.1 实例功能 309

11.2.2 主窗口设计 310

11.2.3 打开数据表 311

11.2.4 添加、插入与删除记录 319

11.2.5 保存与取消修改 319

11.2.6 设置和清除照片 320

11.2.7 数据记录的遍历 321

11.2.8 记录排序 322

11.2.9 记录过滤 322

11.3 QSqlQueryModel的使用 323

11.3.1 QSqlQueryModel功能

概述 323

11.3.2 使用QSqlQueryModel实现

数据查询 323

11.4 QSqlQuery的使用 327

11.4.1 QSqlQuery基本用法 327

11.4.2 QSqlQueryModel和

QSqlQuery联合使用 328

11.5 QSqlRelationalTableModel的

使用 336

11.5.1 关系型数据表和实例

功能 336

11.5.2 关系型数据模型功能

实现 338

第 12章 自定义插件和库 340

12.1 自定义Widget组件 340

12.1.1 自定义Widget子类

QmyBattery 340

12.1.2 自定义Widget组件的

使用 343

12.2 自定义Qt Designer插件 344

12.2.1 创建Qt Designer Widget插件项目 344

12.2.2 插件项目各文件的功能

实现 346

12.2.3 插件的编译与安装 349

12.2.4 使用自定义插件 350

12.2.5 使用MSVC编译器输出

中文的问题 352

12.3 创建和使用静态链接库 353

12.3.1 创建静态链接库 353

12.3.2 静态链接库的使用 354

12.4 创建和使用共享库 357

12.4.1 创建共享库 357

12.4.2 使用共享库 358

第 13章 多线程 362

13.1 QThread创建多线程程序 362

13.1.1 QThread类功能简介 362

13.1.2 掷骰子的线程

QDiceThread 363

13.1.3 掷骰子的多线程应用

程序 365

13.2 线程同步 367

13.2.1 线程同步的概念 367

13.2.2 基于互斥量的线程同步 368

13.2.3 基于QReadWriteLock的

线程同步 371

13.2.4 基于QWaitCondition的

线程同步 373

13.2.5 基于信号量的线程同步 377

第 14章 网络编程 383

14.1 主机信息查询 383

14.1.1 QHostInfo和

QNetworkInterface类 383

14.1.2 QHostInfo的使用 384

14.1.3 QNetworkInterface的

使用 386

14.2 TCP通信 388

14.2.1 TCP通信概述 388

14.2.2 TCP服务器端程序

设计 390

14.2.3 TCP客户端程序设计 395

14.3 QUdpSocket实现UDP通信 397

14.3.1 UDP通信概述 397

14.3.2 UDP单播和广播 398

14.3.3 UDP组播 402

14.4 基于HTTP协议的网络应用

程序 405

14.4.1 实现高层网络操作的类 405

14.4.2 基于HTTP协议的网络

文件下载 406

第 15章 多媒体 409

15.1 Qt多媒体模块功能概述 409

15.2 音频播放 410

15.2.1 使用QMediaPlayer播放

音乐文件 410

15.2.2 使用QSoundEffect和Qsound

播放音效文件 415

15.3 音频输入 415

15.3.1 使用QAudioRecorder

录制音频 415

15.3.2 使用QAudioInput获取

音频输入 421

15.4 视频播放 428

15.4.1 在QVideoWidget上播放

视频 428

15.4.2 在QGraphicsVideoItem上

播放视频 431

15.5 摄像头的使用 433

15.5.1 摄像头控制概述 433

15.5.2 实例主窗口设计与初始化 435

15.5.3 QCamera对象创建与控制 436

15.5.4 QCameraImageCapture抓取静态图片 438

15.5.5 QMediaRecorder视频录制 439

第 16章 应用程序设计辅助功能 441

16.1 多语言界面 441

16.1.1 多语言界面设计概述 441

16.1.2 tr()函数的使用 441

16.1.3 生成语言翻译文件 442

16.1.4 使用Qt Linguist翻译ts文件 443

16.1.5 调用翻译文件改变界面语言 444

16.2 使用样式表自定义界面 446

16.2.1 Qt样式表 446

16.2.2 Qt样式表句法 447

16.2.3 样式表的使用 453

16.3 使用QStyle设置界面外观 455

16.3.1 QStyle的作用 455

16.3.2 Qt内置样式的使用 456

16.4 Qt应用程序的发布 457

16.4.1 应用程序发布方式 457

16.4.2 Windows平台上的应用程序发布 458

学习笔记

Java中对象与C++中对象的放置安排的对比

Java中对象与C++中对象的放置安排的对比 概要: Java中,所有的对象都存放在堆(Heap,一种通用的内存池)中;而对象的引用是存放在堆栈(Stack)中的。 我们可以通过String直接声明的字符串与new String声明出来的字符串使用equals()和"=="进行的比较,从而理解对象和引用的关系及它们的存储位置。 堆栈是一种快速有效的分配存储方法,仅次于寄存器。创建程序时,Java系统必须知道存储在堆栈内所有项的确切生命周期,以便上下移动堆栈指针。 堆不同于堆栈的好处是:编译器不需要知道存储的数据在堆里存活多长时间。所以,堆比堆栈更加灵活。 Java中的堆栈并不能简单理解为数据结构中的栈,虽然它们……

Linux下python与C++使用dlib实现人脸检测

python 与 C++ dlib人脸检测结果对比,供大家参考,具体内容如下 说明: 由于项目需求发现Linux下c++使用dlib进行人脸检测和python使用dlib检测,得到的结果出入比较大,于是写了测试用例,发现影响结果的原因有但不限于: 1.dlib版本不同(影响不大,几个像素的差别) 2.dlib 人脸检测中detector()第二个参数的设置测试结果如下: python PDlib.py: # -*- coding: utf-8 -*-import sysimport cv2 import dlibfrom skimage import iodetector = dlib.get_frontal_face_detector()win = dlib.image_window()for f in sys.argv[1:]: img = io.imread(f) dets = detector(img,1) #使用detector进行人脸检测 for i, d in enumerate(dets): x = d.left() y = d.top() w = d.right() h = d.bottom() cv2.rectangle(img, (x, y)……

Windows系统Python直接调用C++ DLL的方法

环境:Window 10,VS 2019, Python 2.7.12, 64bit 1,打开 VS 2019,新建C++ Windows 动态链接库工程 Example,加入下列文件,如果Python是64位的则在VS中 Solution platforms 选择 x64 编译成64位的 DLL; Example.h #pragma once#ifndef CPP_EXPORTS#define CPP_EXPORTS#endif#ifdef CPP_EXPORTS#define CPP_API _declspec(dllexport)#else #define CPP_API _declspec(dllimport)#endif#include iostreamusing namespace std;#ifdef __cplusplusextern "C"{#endif CPP_API int __cdecl getInt(); CPP_API const char* __cdecl getString(); CPP_API void __cdecl setString(const char* str);#ifdef __cplusplus}#endif Example.cpp #include "pch.h"#include "Example.h"CPP_API int __cdecl getInt(){ return 5;}CPP_API const char* __cdecl getString(){ return "hello";}CPP_API void __cdecl setString(con……

C++与mysql连接遇到的问题汇总

最近接触了很多数据库的东西,本来是一直接触的是sql server,不过由于项目需要就开始对mysql进行了连接。下面就让我这个菜鸟浅谈下经验吧。 对于C++连接mysql,我不太喜欢多下载一个软件mysqlodbc,所以采用的是通过mysql自己的API函数进行连接: 1、使用API的方式连接,需要加载mysql的头文件和lib文件。 在VS2010的附加包含目录中添加\MySQL\MySQL Server 5.1\include。在安装MySql的目录下找。 把libmysql.dll和libmysql.lib文件拷贝到所建的工程目录下。然后在头文件里包含以下内容: //mysql所需的头文件和库文件 #include "winsock.h" #include "mysql.h" #pragma comment(lib,"libmySQL.lib") 2、进行编码 (1)连接mysql数据库 头文件里定义数据……

以上就是本次介绍的Qt开发电子书的全部相关内容,希望我们整理的资源能够帮助到大家,感谢大家对码农之家的支持。

展开 +

收起 -

qdir 类似工具_Qt 5.9 C++开发指南 PDF 高质量影印版相关推荐

  1. 初学者如何开发出一个高质量的J2EE系统

    J2EE学习者越来越多,J2EE本身技术不断在发展,涌现出各种概念,本文章试图从一种容易理解的角度对这些概念向初学者进行解释,以便掌握学习J2EE学习方向. 首先我们需要知道Java和J2EE是两个不 ...

  2. 如何开发出一个高质量的J2EE(转载)

    如何开发出一个高质量的J2EE系统板桥里人 http://www.jdon.com 2005/06/20 J2EE学习者越来越多,J2EE本身技术不断在发展,涌现出各种概念,本文章试图从一种容易理解的 ...

  3. asp.net mvc linux,ASP.NET MVC4开发指南PDF扫描版+源码

    ASP.NET MVC问世已久,几年前或许有人会担心ASP.NET MVC框架是否能用在实务的项目上,也担心用在新项目上是否真的能改善开发效率与质量,但笔者这几年下来,已经累积数十个网站项目改用ASP ...

  4. 云上、前端、架构、工具……这份小程序开发指南请查收

    微信小程序是一个低门槛.流量巨大.公平竞争的优质营销平台,这些特性满足了商家对于产品营销的基本渴求,随着小程序用户的逐渐积累和沉淀,微信小程序的盈利风口已经开启,在 2018年,也将迎来它的最佳红利期 ...

  5. [转]敏捷开发中编写高质量Java代码

    本文转自:http://dev.yesky.com/103/11164603.shtml 敏捷开发的理念已经流行了很长的时间,在敏捷开发中的开发迭代阶段中,我们可以通过五个步骤,来有效的提高整个项目的 ...

  6. [FFMpeg开发]视频转高质量GIF优化方案(接近ps生成效果),从原理剖析

    摘要 虽然此前有人发过了,但是这个博主没有分析原理并且没有提炼出来.不适合开发者学习. 所以我只是进行二次优化,原文高质量视频转gif 此前,做产品的时候,产品用到了ffmpeg框架,手上几个ffmp ...

  7. 敏捷开发中编写高质量Java代码

    原文出处:http://java.csdn.net/a/20100308/259219.html 敏捷开发的理念已经流行了很长的时间,在敏捷开发中的开发迭代阶段中,我们可以通过五个步骤,来有效的提高整 ...

  8. qdir 类似工具_qdir 类似工具_支持 Win8.1,全能资源管理器 Q-Dir 5.74 发布

    Q-Dir是一款帮助用户管理本地文件和文档的工具.支持快速访问定位本地磁盘.网络驱动器.USB移动设备及其他存储设备中的文件或文档.依靠强大的Quadro-View技术,使得Q-Dir成为一款优秀的文 ...

  9. qdir 类似工具_如何高效率整理电脑上的文件 ?

    2020年12月20日更新 在经历过3T移动硬盘摔坏数据无法恢复(穷,找不起专业数据恢复): 到办公室电脑不名情况死机只能重装系统,存在C盘内的数据丢失,19年工作的过程文件.三维模型.图纸.技改文件 ...

最新文章

  1. 分布式锁之三:Redlock实现分布式锁
  2. 图解Silverlight 3的7个新功能
  3. iOS7与iOS8的比較
  4. HDU 2859 Phalanx
  5. harmonyos2.0三大技术特点,一文解析HarmonyOS的技术特性、子系统架构、四大技术特性...
  6. python3.6.5安装tensorflow_ubuntu下python3.6.5import tensorflow显示非法指令(核心已转储)
  7. hadoop2.20+hive+sqoop+mysql数据处理案例
  8. oracle的连接字符串
  9. pl/sql developer安装与配置
  10. Vue 项目断网时跳转到网络错误页面
  11. 软件测试睡眠原理,睡眠测试的原理是什么_蜗牛睡眠的原理是什么 怎么检测的睡眠情况...
  12. python核密度图_python做密度图
  13. directX11 软件包下载与配置
  14. 高中会考计算机都考啥,高中会考都有哪些科目
  15. ANO匿名飞控STM32代码解读(一)任务调度——Ano_Scheduler.c
  16. 图像处理保研面试_详解保研面试的那些事
  17. android 播放wav代码,播放简短的.wav文件 - Android
  18. Vue 路由懒加载根据根路由合并chunk块
  19. 蛋白质残基相互作用网络分析
  20. 你可能不了解的《唐诗三百首》

热门文章

  1. 当你部署tomcat遇到HTTP Status 500的时候
  2. 用让新海诚本人惊讶的 AI 模型制作属于你的动漫视频
  3. 目标检测和感受野的总结和想法
  4. 小鹤同文的几个修改项
  5. 项目经理用一个计算机模型估算成本,项目经理考试培训:成本估算的工具和技术...
  6. 计算机专业 公务员发展前景,未来5年,我国待遇“最好”的4个专业,前途不输公务员...
  7. 【报告】德勤管理咨询2019年境内外TMT标杆企业高管薪酬与激励调研报告
  8. ASP无限分类数据库版
  9. 目前常见的大数据分析软件有哪些?
  10. 注解(Annotation)