pyqt5 qfiledialog 默认文件名_Qt 5/PyQt 5实战指南

1b017aaa0d2f75b0c138e5994d5a28f0.png

将于2020年9月底上市。

已在Linux上验证全套代码。

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

目录

第1章 准备工作 11

1.1 推荐的开发环境 11

1.2 安装Visual Studio 2017 11

1.3 安装Python 12

1.4 安装LLVM 14

1.5 用编译的方式安装Qt 5.11.1 14

1.6 用安装包安装Qt 5.11.1 17

1.7 在Linux上编译代码出错时的处理 21

1.8 配套源代码 22

第2章 pro与pri 23

2.1 案例1 通过一个简单的EXE来介绍pro的基本配置 23

2.2 案例2 整理一下目录吧 28

2.3 案例3 加点料-增加一张图片 36

2.4 知识点 pro文件常用配置 38

2.5 知识点 pri文件有啥用 42

2.6 知识点 一劳永逸,引入pri体系 46

2.7 案例4 还是不知道pri咋用?来练练手吧! 54

2.8 配套练习 57

第3章 多国语言国际化 60

3.1 案例5 怎样实现国际化 60

3.2 案例6 几种常见的国际化编程场景 63

3.3 知识点 God!全是英文,我的翻译呢? 66

3.4 配套练习 67

第4章 打基础 69

4.1 案例7 开发一个DLL(Dynamic Link Library动态链接库) 69

4.2 案例8 使用命名空间 73

4.3 案例9 QString的6个实用案例 75

4.4 案例10 用qDebug()输出信息 81

4.5 案例11 使用QVector处理数组 85

4.6 案例12 使用QList处理链表 91

4.7 案例13 使用QMap建立映射 95

4.8 案例14 万能的QVariant 99

4.9 案例15 使用QMessagebox弹出各种等级的提示信息 102

4.10 案例16 使用QInputDialog获取多种类型的用户输入 105

4.11 案例17 开发自己的公共类库 109

4.12 案例18 普通文本文件读写 113

4.13 案例19 XML格式的配置文件 118

4.14 案例20 INI格式的配置文件 124

4.15 案例21 把类对象序列化到二进制文件 126

4.16 案例22 从二进制文件反序列化类对象 132

4.17 案例23 类的XML格式序列化 136

4.18 案例24 类的二进制格式序列化-向前兼容 142

4.19 案例25 使用流方式读写XML 152

4.20 案例26 使用单体模式实现全局配置 160

4.21 案例27 读取GB13000编码的身份证信息 162

4.22 配套练习 167

第5章 对话框 170

5.1 知识点 Qt设计师的使用 170

5.2 知识点 在Designer中进行界面布局 178

5.3 案例28 对话框-走起 181

5.4 案例29 三种编程方式实现信号-槽开发 187

5.5 案例30 自定义signal与信号转发 192

5.6 案例31 disconnect的用途 193

5.7 案例32 消息阻塞-防止额外触发槽函数 195

5.8 案例33 信号-槽只能用在对话框里吗 198

5.9 案例34 对象之间还能怎么传递消息 199

5.10 案例35 编程实现控件嵌套布局 202

5.11 案例36 样式 204

5.12 案例37 使用QStackedLayout实现向导界面 209

5.13 案例38 定时器1 213

5.14 案例39 定时器2 217

5.15 配套练习 220

第6章 常用控件 223

6.1 案例40 使用QLabel显示文本或图片 223

6.2 案例41 使用行编辑器QLineEdit获取多种输入 225

6.3 案例42 使用下拉列表框QComboBox获取用户输入 229

6.4 案例43 使用列表框QListWidget展示数据列表 232

6.5 案例44 使用滑动条QSlider控制进度 235

6.6 配套练习 240

第7章 用QPainter实现自定义绘制 242

7.1 案例45 怎样进行自定义绘制 242

7.2 案例46 萌新机器人 244

7.3 案例47 机器人的新装 248

7.4 配套练习 250

第8章 模型视图代理 251

8.1 知识点 Qt的MVC简介 251

8.2 案例48 用QStandardItemModel构建树模型 253

8.3 案例49 使用代理实现属性窗 259

8.4 案例50 带子属性的属性窗 274

8.5 配套练习 287

第9章 开发SDI应用 288

9.1 案例51 开发一个SDI应用 288

9.2 案例52 使用自定义视图 289

9.3 案例53 添加主菜单 290

9.4 案例54 常规工具条 294

9.5 案例55 在状态栏上显示鼠标坐标 295

9.6 案例56 使用QSplashScreen为程序添加启动画面 297

9.7 案例57 工具条反显 301

9.8 案例58 打开文件对话框 302

9.9 案例59 浮动窗里的列表框 304

9.10 案例60 拖放 306

9.11 案例61 使用树视图做个工具箱 311

9.12 案例62 使用事项窗展示事项或日志 315

9.13 案例63 剪切、复制、粘贴 321

9.14 案例64 上下文菜单 326

9.15 案例65 利用属性机制实现动画弹出菜单 329

9.16 案例66 main()函数一般都写啥 336

9.17 配套练习 338

第10章 开发MDI应用 340

10.1 案例67 MDI-采用同一类型的View 340

10.2 案例68 MDI-采用不同类型的View 351

10.3 配套练习 361

第11章 重写Qt事件 362

11.1 知识点 QWidget事件简介 362

11.2 案例69 通过重写鼠标事件实现图元移动 363

11.3 案例70 通过重写键盘事件实现图元移动 367

11.4 知识点 无法切换到中文输入时该怎么办 368

11.5 配套练习 369

第12章 开发插件 369

12.1 知识点 什么是插件,插件用来干啥 369

12.2 案例71 怎样开发插件 371

12.3 配套练习 376

第13章 开发多线程应用 378

13.1 案例72 多线程&互斥锁 378

13.2 案例73 多线程应用中如何与主界面通信 384

13.3 案例74 使用QtConcurrent处理并发-Map模式 387

13.4 案例75 使用QtConcurrent处理并发-MapReduce模式 391

13.5 配套练习 395

第14章 开发网络应用 396

14.1 案例76 基于Qt的TCP/IP编程 396

14.2 案例77 TCP/IP多客户端编程 404

14.3 配套练习 421

第15章 PyQt 5基础 422

15.1 知识点 PyQt 5简介 422

15.2 知识点 搭建PyQt 5开发环境 425

15.3 案例78 编写第一个PyQt 5程序 430

15.4 案例79 给应用加上图片 433

15.5 案例80 信号槽初探-窗口A调用窗口B 437

15.6 案例81 编写代码实现控件布局 438

15.7 案例82 在窗体A中嵌入自定义控件B 445

15.8 案例83 使用QLabel显示GIF动画 447

15.9 案例84 使用行编辑器QLineEdit获取多种输入 448

15.10 案例85 使用下拉列表框QComboBox获取用户输入 451

15.11 案例86 使用列表框QListWidget展示并操作列表 454

15.12 案例87 使用滑动条QSlider控制进度 457

15.13 案例88 使用QMessagebox弹出提示信息 461

15.14 案例89 使用QInputDialog获取用户输入 464

15.15 案例90 使用QFileDialog获取用户选择的文件名 468

15.16 案例91 把程序最小化到系统托盘 470

15.17 配套练习 473

第16章 PyQt 5进程内通信 475

16.1 知识点 PyQt 5中的信号-槽 475

16.2 案例92 使用自定义信号 477

16.3 案例93 带参数的自定义信号 478

16.4 案例94 信号比槽的参数少该咋办 482

16.5 案例95 使用QTimer实现定时器 484

16.6 案例96 使用timerEvent()实现定时器 486

16.7 案例97 使用QStackedLayout实现向导界面 488

16.8 配套练习 492

第17章 PyQt 5实现自定义绘制 493

17.1 案例98 怎样进行自定义绘制 493

17.2 案例99 萌新机器人 496

17.3 案例100 机器人的新装 500

17.4 配套练习 502

第18章 PyQt 5中的模型视图代理 503

18.1 案例101 用QStandardItemModel构建树模型 503

18.2 案例102 最简单的属性窗 506

18.3 案例103 使用代理实现属性窗 508

18.4 案例104 自定义属性窗 511

18.5 案例105 带子属性的属性窗 518

18.6 配套练习 528

第19章 PyQt 5开发SDI应用 529

19.1 案例106 开发一个SDI应用 529

19.2 案例107 使用自定义视图 530

19.3 案例108 添加主菜单 531

19.4 案例109 常规工具条 534

19.5 案例110 在状态栏上显示鼠标坐标 536

19.6 案例111 使用QSplashScreen为程序添加启动画面 538

19.7 案例112 工具条反显 541

19.8 案例113 浮动窗里的列表框 542

19.9 案例114 拖放 544

19.10 案例115 使用树视图做个工具箱 549

19.11 案例116 使用事项窗展示事项或日志 553

19.12 案例117 剪切、复制、粘贴 558

19.13 案例118 上下文菜单 563

19.14 配套练习 565

第20章 PyQt 5开发MDI应用 567

20.1 案例119 MDI-采用同一类型的View 567

20.2 案例120 MDI-采用不同类型的View 577

20.3 配套练习 583

第21章 PyQt 5事件 584

21.1 案例121 通过重写鼠标事件实现图元移动 584

21.2 案例122 通过重写键盘事件实现图元移动 587

21.3 配套练习 588

第22章 PyQt 5开发多线程应用 589

22.1 案例123 多线程&互斥锁 589

22.2 案例124 多线程应用中如何刷新主界面 593

22.3 配套练习 596

第23章 项目实战-敏捷看板(C++版) 597

23.1 案例125 项目实战准备-访问SQLite数据库 597

23.2 案例126 项目实战准备-使用QCustomPlot绘制曲线 601

23.3 案例127 项目实战-敏捷看板 605

第24章 项目实战-敏捷看板(PyQt版) 616

24.1 案例128 项目实战准备-访问SQLite数据库 616

24.2 案例129 项目实战准备-用Matplotlib绘制曲线 620

24.3 案例130 项目实战-敏捷看板 622

附录A 639

PyQt 5常用类所在模块 639

参 考 文 献 640

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值