《Qt 5/PyQt 5实战指南》目录

18 篇文章 5 订阅
1 篇文章 0 订阅
 

-----------------------------------------------------------------

本书特色

(1)兼顾Qt 5、PyQt 5。

  本书既有C++语言的Qt 5知识,又有Python语言的PyQt 5的知识。本书设计了130个精品案例,其中C++版的Qt 5案例78个,PyQt 5版的案例52个。通过学习两种编程语言的案例,可以更好的满足实际研发工作对编程技能的需求。

(2)系统性组织案例,真正实用。

  本书的组织有利于系统性学习开发技能。本书在内容组织上掌握循序渐进原则,前面的案例为后面的案例打基础。本书重点关注软件设计及实战技能,而非罗列一堆控件接口说明,比如:在开发大型项目时pri文件的设计与使用、配置文件的开发方法、类对象的二进制文件的序列化、向前兼容的二进制文件格式设计、带子属性的属性窗等都属于实用的软件研发技术案例。

(3)配套练习,加深理解。

  除第1、23、24章外,每章后均附有配套练习,本书提供超过140道配套练习题。通过针对性练习,可以加深对知识的理解与掌握,更快投入真正的研发工作。

(4)拒绝从零开始。

  课件配套代码含有改动前的基础代码、改动后的最终代码。其中改动前的代码在src.baseline目录,改动后的最终代码在src目录。读者无需从零开始创建项目,可以在改动前的基础代码上对照案例讲解的内容直接进行修改,这样可以有效提高学习效率。在案例开头一般都配有运行效果图。

【注意】:页码为书稿的页码,出版后的页码可能有出入。

-----------------------------------------------------------------

第1章 准备工作 …………………………………………………………………………… 1
1.1 推荐的开发环境 ……………………………………………………………………… 1
1.2 安装 VisualStudio2017 …………………………………………………………… 1
1.3 安装 Python ………………………………………………………………………… 2
1.4 安装 LLVM ………………………………………………………………………… 4
1.5 用编译的方式安装 Qt5.11.1 ……………………………………………………… 5
1.6 用安装包安装 Qt5.11.1 …………………………………………………………… 7
1.7 在 Linux上编译代码出错时的处理 ……………………………………………… 11
1.8 配套源代码 ………………………………………………………………………… 12

第2章 pro与pri…………………………………………………………………………… 13
2.1 案例1 通过一个简单的 EXE来介绍pro的基本配置 ………………………… 13
2.2 案例2 整理一下目录吧 ………………………………………………………… 19
2.3 案例3 加点料———增加一张图片 ……………………………………………… 26
2.4 知识点 pro文件常用配置………………………………………………………… 28
2.5 知识点 pri文件有什么用 ………………………………………………………… 32
2.6 知识点 一劳永逸,引入pri体系 ………………………………………………… 36
2.7 案例4 还是不知道pri怎么用? 来练练手吧 …………………………………… 44
2.8 配套练习 …………………………………………………………………………… 47


第3章 多国语言国际化 ………………………………………………………………… 48
3.1 案例5 怎样实现国际化 ………………………………………………………… 48
3.2 知识点 几种常见的国际化编程场景 …………………………………………… 52
3.3 知识点 中英文翻译失败如何处理 ……………………………………………… 54
3.4 配套练习 …………………………………………………………………………… 56

第4章 打基础 ……………………………………………………………………………… 57
4.1 案例6 开发一个 DLL …………………………………………………………… 57
4.2 知识点 使用命名空间 …………………………………………………………… 61
4.3 案例7 QString的6个实用案例 ………………………………………………… 64
4.4 案例8 用qDebug()输出信息 …………………………………………………… 69
4.5 案例9 使用 QVector处理数组 ………………………………………………… 73
4.6 案例10 使用 QList处理链表 …………………………………………………… 79
4.7 案例11 使用 QMap建立映射 …………………………………………………… 83
4.8 案例12 万能的 QVariant ……………………………………………………… 87
4.9 案例13 使用 QMessagebox弹出各种等级的提示信息………………………… 89
4.10 案例14 使用 QInputDialog获取多种类型的用户输入 ……………………… 92
4.11 知识点 开发自己的公共类库 …………………………………………………… 96
4.12 案例15 普通文本文件读写 …………………………………………………… 99
4.13 案例16 XML格式的配置文件 ……………………………………………… 104
4.14 知识点 INI格式的配置文件…………………………………………………… 109
4.15 案例17 把类对象序列化到二进制文件 ……………………………………… 112
4.16 案例18 从二进制文件反序列化类对象 ……………………………………… 117
4.17 案例19 类的 XML格式序列化 ……………………………………………… 121
4.18 知识点 类的二进制格式序列化———向后兼容 ……………………………… 126
4.19 案例20 使用流方式读写 XML ……………………………………………… 135
4.20 知识点 使用单体模式实现全局配置 ………………………………………… 142
4.21 案例21 读取 GB13000编码的身份证信息 ………………………………… 145
4.22 配套练习 ………………………………………………………………………… 149
第5章 对话框……………………………………………………………………………… 150
5.1 知识点 QtDesigner的使用 …………………………………………………… 150
5.2 知识点 在 Designer中进行界面布局…………………………………………… 156
5.3 案例22 对话框———走起 ……………………………………………………… 160
5.4 案例23 三种编程方式实现信号-槽开发 ……………………………………… 166
5.5 案例24 自定义signal与信号转发 …………………………………………… 170
5.6 案例25 disconnect的用途 ……………………………………………………… 172
5.7 知识点 消息阻塞-防止额外触发槽函数 ……………………………………… 174
5.8 案例26 信号-槽只能用在对话框里吗 ………………………………………… 177
5.9 案例27 对象之间还能怎么传递消息 ………………………………………… 178
5.10 知识点 编程实现控件嵌套布局 ……………………………………………… 180
5.11 知识点 样式 …………………………………………………………………… 182
5.12 案例28 使用 QStackedLayout实现向导界面 ……………………………… 188
5.13 案例29 定时器1 ……………………………………………………………… 192
5.14 案例30 定时器2 ……………………………………………………………… 196
5.15 配套练习 ………………………………………………………………………… 199
第6章 常用控件 ………………………………………………………………………… 200
6.1 案例31 使用 QLabel显示文本或图片 ………………………………………… 200
6.2 案例32 使用 QLineEdit获取多种输入………………………………………… 203
6.3 案例33 使用 QComboBox获取用户输入……………………………………… 207
6.4 案例34 使用 QListWidget展示数据列表 …………………………………… 209
6.5 案例35 使用 QSlider控制进度 ………………………………………………… 213
·Ⅳ·
6.6 配套练习 …………………………………………………………………………… 217
第7章 用 QPainter实现自定义绘制 ………………………………………………… 219
7.1 知识点 怎样进行自定义绘制 …………………………………………………… 219
7.2 案例36 萌新机器人 …………………………………………………………… 222
7.3 案例37 机器人的新装 ………………………………………………………… 226
7.4 配套练习 …………………………………………………………………………… 228
第8章 模型视图代理 …………………………………………………………………… 229
8.1 知识点 Qt的 MVC简介………………………………………………………… 229
8.2 知识点 使用 QStandardItemModel构建树模型 ……………………………… 232
8.3 案例38 使用代理实现属性窗 ………………………………………………… 237
8.4 案例39 带子属性的属性窗 …………………………………………………… 250
8.5 配套练习 …………………………………………………………………………… 261
第9章 开发SDI应用 …………………………………………………………………… 262
9.1 案例40 开发一个SDI应用 …………………………………………………… 262
9.2 案例41 使用自定义视图 ……………………………………………………… 263
9.3 案例42 添加主菜单 …………………………………………………………… 264
9.4 案例43 常规工具条 …………………………………………………………… 267
9.5 知识点 在状态栏上显示鼠标坐标 ……………………………………………… 269
9.6 知识点 使用 QSplashScreen为程序添加启动画面 …………………………… 271
9.7 知识点 工具条反显 ……………………………………………………………… 274
9.8 案例44 打开文件对话框 ……………………………………………………… 276
9.9 案例45 浮动窗里的列表框 …………………………………………………… 278
9.10 案例46 拖放 …………………………………………………………………… 279
9.11 案例47 使用树视图做个工具箱 ……………………………………………… 284
9.12 案例48 使用事项窗展示事项或日志 ………………………………………… 288
9.13 案例49 剪切、复制、粘贴 ……………………………………………………… 294
9.14 案例50 上下文菜单 …………………………………………………………… 299
9.15 案例51 利用属性机制实现动画弹出菜单 …………………………………… 301
9.16 知识点 main()函数一般都写什么 …………………………………………… 308
9.17 配套练习 ………………………………………………………………………… 310
第10章 开发 MDI应用 ………………………………………………………………… 311
10.1 案例52 MDI———采用同一类型的 View …………………………………… 311
10.2 知识点 MDI———采用不同类型的 View …………………………………… 322
10.3 配套练习 ………………………………………………………………………… 331
·Ⅴ·
第11章 重写 Qt事件 …………………………………………………………………… 332
11.1 知识点 QWidget事件简介 …………………………………………………… 332
11.2 案例53 通过重写鼠标事件实现图元移动 ………………………………… 333
11.3 案例54 通过重写键盘事件实现图元移动 ………………………………… 337
11.4 知识点 无法切换到中文输入时该怎么办 …………………………………… 338
11.5 配套练习 ………………………………………………………………………… 339
第12章 开发插件 ………………………………………………………………………… 340
12.1 知识点 什么是插件,插件用来干什么 ……………………………………… 340
12.2 案例55 怎样开发插件 ……………………………………………………… 341
12.3 配套练习 ………………………………………………………………………… 347
第13章 开发多线程应用 ……………………………………………………………… 348
13.1 案例56 多线程和互斥锁 …………………………………………………… 348
13.2 知识点 多线程应用中如何与主界面通信 …………………………………… 354
13.3 案例57 使用 QtConcurrent处理并发———Map模式 ……………………… 356
13.4 案例58 使用 QtConcurrent处理并发———MapReduce模式 ……………… 360
13.5 配套练习 ………………………………………………………………………… 364
第14章 开发网络应用…………………………………………………………………… 365
14.1 案例59 基于 Qt的 TCP/IP编程 …………………………………………… 365
14.2 案例60 TCP/IP多客户端编程 ……………………………………………… 373
14.3 配套练习 ………………………………………………………………………… 388
第15章 PyQt5基础……………………………………………………………………… 389
15.1 知识点 PyQt5简介 ………………………………………………………… 389
15.2 知识点 搭建 PyQt5开发环境 ……………………………………………… 393
15.3 案例61 编写第一个 PyQt5程序 …………………………………………… 397
15.4 案例62 给应用加上图片 …………………………………………………… 400
15.5 案例63 信号-槽初探———窗口 A 调用窗口 B ……………………………… 404
15.6 案例64 编写代码实现控件布局 …………………………………………… 406
15.7 案例65 在窗体 A 中嵌入自定义控件 B …………………………………… 411
15.8 案例66 使用 QLabel显示 GIF动画………………………………………… 413
15.9 案例67 使用 QLineEdit获取多种输入 …………………………………… 414
15.10 案例68 使用 QComboBox获取用户输入 ………………………………… 417
15.11 案例69 使用 QListWidget展示并操作列表 ……………………………… 420
15.12 案例70 使用 QSlider控制进度 …………………………………………… 423
15.13 案例71 使用 QMessagebox弹出提示信息 ……………………………… 427
15.14 案例72 使用 QInputDialog获取用户输入 ………………………………… 430
·Ⅵ·
15.15 案例73 使用 QFileDialog获取用户选择的文件名 ……………………… 434
15.16 知识点 把程序最小化到系统托盘 ………………………………………… 435
15.17 配套练习 ……………………………………………………………………… 438
第16章 PyQt5进程内通信 …………………………………………………………… 439
16.1 知识点 PyQt5中的信号-槽 ………………………………………………… 439
16.2 案例74 使用自定义信号 …………………………………………………… 441
16.3 案例75 带参数的自定义信号 ……………………………………………… 443
16.4 知识点 信号比槽的参数少该怎么办 ………………………………………… 446
16.5 案例76 使用 QTimer实现定时器 ………………………………………… 448
16.6 知识点 使用timerEvent()实现定时器 ……………………………………… 450
16.7 案例77 使用 QStackedLayout实现向导界面 ……………………………… 452
16.8 配套练习 ………………………………………………………………………… 456
第17章 PyQt5实现自定义绘制 ……………………………………………………… 457
17.1 知识点 怎样进行自定义绘制 ………………………………………………… 457
17.2 案例78 萌新机器人 ………………………………………………………… 460
17.3 案例79 机器人的新装 ……………………………………………………… 464
17.4 配套练习 ………………………………………………………………………… 466
第18章 PyQt5中的模型视图代理 …………………………………………………… 467
18.1 知识点 使用 QStandardItemModel构建树模型 …………………………… 467
18.2 案例80 最简单的属性窗 …………………………………………………… 470
18.3 案例81 使用代理实现属性窗 ……………………………………………… 472
18.4 案例82 自定义属性窗 ……………………………………………………… 474
18.5 案例83 带子属性的属性窗 ………………………………………………… 481
18.6 配套练习 ………………………………………………………………………… 489
第19章 PyQt5开发SDI应用 ………………………………………………………… 490
19.1 案例84 开发一个SDI应用 ………………………………………………… 490
19.2 案例85 使用自定义视图 …………………………………………………… 491
19.3 案例86 添加主菜单 ………………………………………………………… 492
19.4 案例87 常规工具条 ………………………………………………………… 495
19.5 案例88 在状态栏上显示鼠标坐标 ………………………………………… 497
19.6 知识点 使用 QSplashScreen为程序添加启动画面 ………………………… 499
19.7 知识点 工具条反显 …………………………………………………………… 502
19.8 案例89 浮动窗里的列表框 ………………………………………………… 503
19.9 案例90 拖放 ………………………………………………………………… 505
19.10 案例91 使用树视图做个工具箱 …………………………………………… 510
19.11 案例92 使用事项窗展示事项或日志 ……………………………………… 513
·Ⅶ·
19.12 案例93 剪切、复制、粘贴 …………………………………………………… 518
19.13 案例94 上下文菜单 ………………………………………………………… 523
19.14 配套练习 ……………………………………………………………………… 524
第20章 PyQt5开发 MDI应用 ……………………………………………………… 525
20.1 案例95 MDI———采用同一类型的 View …………………………………… 525
20.2 知识点 MDI———采用不同类型的 View …………………………………… 534
20.3 配套练习 ………………………………………………………………………… 540
第21章 PyQt5事件……………………………………………………………………… 541
21.1 案例96 通过重写鼠标事件实现图元移动 ………………………………… 541
21.2 案例97 通过重写键盘事件实现图元移动 ………………………………… 544
21.3 配套练习 ………………………………………………………………………… 545
第22章 PyQt5开发多线程应用 ……………………………………………………… 546
22.1 案例98 多线程和互斥锁 …………………………………………………… 546
22.2 知识点 多线程应用中如何刷新主界面 ……………………………………… 550
22.3 配套练习 ………………………………………………………………………… 552
第23章 项目实战———敏捷看板(C++版)…………………………………………… 554
23.1 知识点 项目实战准备———访问SQLite数据库 …………………………… 554
23.2 知识点 项目实战准备———使用 QCustomPlot绘制曲线 ………………… 558
23.3 案例99 项目实战———敏捷看板 …………………………………………… 562
第24章 项目实战———敏捷看板(PyQt版)………………………………………… 573
24.1 知识点 项目实战准备———访问SQLite数据库 …………………………… 573
24.2 知识点 项目实战准备———用 Matplotlib绘制曲线 ………………………… 577
24.3 案例100 项目实战———敏捷看板 …………………………………………… 579
附录 A PyQt5常用类所在模块 ……………………………………………………… 592

-----------------------------------------------------------------

 

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
### 回答1: 《Qt 5/PyQt 5实战指南》是一本介绍如何在Qt 5和PyQt 5环境下进行实际开发的实用指南Qt是一款跨平台的GUI应用程序开发框架,而PyQt是Python语言的Qt绑定库。 这本指南首先介绍了Qt的基础知识,包括Qt的架构和核心特性。读者将学习如何使用Qt的类和对象来创建GUI界面,并了解Qt中的事件处理和信号与槽机制。接下来,指南深入介绍了Qt的图形和绘图功能,包括绘制基本形状、使用QPainter进行高级绘图和使用QGraphicsView进行二维图形渲染等。 在进一步的章节中,指南介绍了Qt中的数据存储和访问技术。读者将学习如何使用Qt的数据库模块进行数据库操作,并了解Qt中的XML和JSON处理。同时,指南还介绍了Qt的网络编程能力,包括使用Qt的网络模块进行HTTP通信和实现TCP/IP客户端/服务器应用程序。 除了介绍Qt的基础功能,指南还重点关注了Qt在实际应用开发中的各种场景。读者将学习如何使用Qt开发跨平台的桌面应用程序、移动应用程序和嵌入式系统应用程序。指南还详细介绍了如何进行国际化和本地化处理,以及如何使用Qt进行多媒体处理和图像处理。 通过《Qt 5/PyQt 5实战指南》,读者将掌握使用QtPyQt进行实际应用开发的技能和经验。该指南提供了丰富的示例代码和实战项目,可帮助读者深入理解并掌握Qt的各个方面。无论是初学者还是有一定经验的开发者,都能从中获得实际开发的指导和实用技巧。通过学习和实践,读者将能够快速上手并熟练应用QtPyQt来开发出高质量的应用程序。 ### 回答2: 《Qt 5/PyQt 5实战指南》是一本以Qt 5和PyQt 5为主题的实战教程,主要旨在教授读者如何利用Qt 5和PyQt 5框架构建实际应用程序。 在这本书中,作者将深入介绍Qt 5和PyQt 5的核心概念和基本原理,并通过一系列实例来演示如何使用这两个框架进行应用程序开发。 首先,读者将学习Qt 5和PyQt 5的安装和配置,了解如何进行项目设置和界面设计。然后,书中详细介绍了Qt 5和PyQt 5的基本组件和控件,包括窗口、按钮、文本框等常用控件的使用方法。 接下来,作者将引导读者了解Qt 5和PyQt 5的事件处理机制和信号与槽机制,这是构建交互式应用程序的关键部分。读者将学会如何使用信号与槽来响应用户的操作,并实现各种功能。 此外,书中还包含了使用Qt Designer进行界面设计和使用Qt Creator进行项目开发的相关内容。读者可以学会如何使用这些工具来提高开发效率。 最后,书中还介绍了如何使用Qt 5和PyQt 5进行数据库连接和操作,以及如何进行文件读写和网络编程。这些内容将帮助读者进一步扩展应用程序的功能。 通过《Qt 5/PyQt 5实战指南》,读者可以系统地学习并掌握Qt 5和PyQt 5的开发技巧,从而能够独立设计和开发各种类型的应用程序。无论是初学者还是有一定经验的开发人员,都能从这本书中获得许多实用的知识和经验。 ### 回答3: 《Qt 5/PyQt 5实战指南》是一本面向Qt 5和PyQt 5编程的实用指南Qt是一款跨平台的应用程序开发框架,而PyQt是基于Qt的Python绑定库。 本书主要介绍了QtPyQt的基本概念和使用方法。首先,书中详细介绍了QtPyQt的安装和配置过程,帮助读者快速搭建开发环境。然后,书中通过实战项目的方式,详细讲解了QtPyQt的核心功能和特性,包括窗口管理、用户界面设计、信号与槽机制、多线程编程等等。读者可以通过跟随书中的实例代码,逐步学习和应用这些知识。 此外,该书还介绍了一些高级主题,如Qt Quick和QML编程、网络编程、数据库访问等。这些内容帮助读者更深入地了解和掌握QtPyQt的强大功能,提升开发效率。 《Qt 5/PyQt 5实战指南》还注重实际项目的应用,通过丰富的实战案例,帮助读者将所学知识应用到实际项目中。这样的实际练习可以帮助读者更好地理解和巩固所学内容,并培养解决实际问题的能力。 总之,如果你想学习Qt 5和PyQt 5编程,提高自己的开发技能,那么《Qt 5/PyQt 5实战指南》是一本值得推荐的书籍。它全面而详细地介绍了QtPyQt的基础知识和高级特性,并通过实战项目的方式帮助读者应用所学知识。无论你是初学者还是有一定经验的开发者,该书都有助于你成为一个更有能力的QtPyQt开发者。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

女儿叫老白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值