楼主: wdgwz
96 1

《PyQt5快速开发与实战 》 [推广有奖]

  • 0关注
  • 0粉丝

高中生

0%

还不是VIP/贵宾

-

威望
0
论坛币
14 个
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
136 点
帖子
19
精华
0
在线时间
6 小时
注册时间
2017-2-12
最后登录
2018-11-11

wdgwz 在职认证  发表于 2018-11-7 21:16:28 |显示全部楼层
京东有销售,链接


https://item.jd.com/12194083.html


《PyQt5快速开发与实战》是介绍PyQt 5理论与实战的前沿书籍,即系统化地介绍Qt的基础知识,又兼顾Python的各种强大模块,同时包含丰富的项目实战。旨在帮助读者快速掌握PyQt 5的应用知识,是Python程序开发的利器。





内容简介
  《PyQt5快速开发与实战》既是介绍PyQt 5的快速入门书籍,也是介绍PyQt 5实战应用的书籍。PyQt 5是对Qt所有类的Python封装,既可以利用Qt的强大功能,也可以利用Python丰富的生态圈,同时能够结合Python简洁的语法进行操作,其结果就是使用PyQt 5可以高效、简单地开发出自己想要的程序。《PyQt5快速开发与实战》内容丰富,对PyQt 5基础知识的介绍比较全面,同时对新手使用PyQt 5的一些重点、难点都有专门的章节进行针对性分析,还重点介绍了如何把Python的一些重量级模块(Pandas、Matplotlib和Plotly)嵌入到PyQt 5中,从而极大地节约开发时间。最后,《PyQt5快速开发与实战》给出一些综合性较强的实战案例,帮助读者快速掌握PyQt 5的实战应用。
  总而言之,《PyQt5快速开发与实战》旨在帮助读者以最短的时间掌握PyQt 5的基础知识并能够实战应用,希望《PyQt5快速开发与实战》对有Python程序开发需求的读者有帮助。





作者简介
  王硕,网名信平,北京鼎鑫拓达资深软件工程师,具有8年的Java企业应用开发经验和3年教育培训经验。曾主持多个B/S项目的开发,经验丰富。擅长J2EE(JSP/Servlet、 JDBC、Struts2、Spring、Hibernate)项目开发、Python(程序GUI、数据分析、网络爬虫、机器学习)项目开发,JavaScript、HTML 5和数据库技术,是极宽Top开源团队核心成员。  

  孙洋洋,现就职于一家资产管理公司,负责公司量化投研系统的开发与维护,有多家券商工作与实习经验。擅长网络爬虫、机器学习、程序GUI开发与设计,对量化投资领域兴趣浓厚,有多年量化投资实盘操作经验,是极宽Top开源团队核心成员。  



精彩书评
  本书是作者集数年编程开发于大成的一份心血之作,他从简单实用的系统架构视角将我们带入一个全新开发的思维模式,此书是使用PyQt的佳作,有大量的开发技巧,还汇集了丰富的操作案例,可作为新手上路的必备实操手册,本人读后也获益匪浅。  
  ——北京信平科技有限公司总经理 王祥平  

  一本可以从入门到实战、系统学习PyQt 5的好书,是PyQt 5学习者的优选教材。  
  ——潭州教育Python学院院长 李天强  

  本书详细介绍了PyQt的基础知识,又兼顾了PyQt的实战应用。并且在扩展应用中介绍的几个模块如QtPandas、Matplotlib、PyQtGrapth、Plotly等,很好地解决了Python在金融领域甚至量化投资领域界面呈现的难点问题,对要做量化投资界面开发的读者来说,本书非常值得推荐。  
  ——中国量化投资学会理事长 丁鹏  

  Python是一门应用广泛的脚本语言,为了创建图形用户界面,PyQt是Python工程师选择的重要工具之一。作者编写的此书涵盖了PyQt 5的基础知识和高级应用,体现了技术与理论的完美结合,是Python工程师编程的必备手册。  
  ——梁忠博士  



目录
第1章 认识PyQt 5 1  
1.1 PyQt框架简介 1  
1.1.1 PyQt 5的特点 3  
1.1.2 Qt与PyQt的关系 4  
1.1.3 其他图形界面开发库介绍 4  
1.1.4 PyQt 4/PyQt 5 6  
1.1.5 Python 2/Python 3 6  
1.2 PyQt 5环境搭建 7  
1.2.1 在Windows下搭建PyQt 5环境 7  
1.2.2 在Mac OS下搭建PyQt 5环境 15  
1.2.3 PyQt 5的安装测试 20  
1.2.4 安装其他Python模块 22  
1.2.5 使用PyQt 5的API文档 23  
1.3 Eric 6的安装与使用 25  
1.3.1 Eric 6的安装及汉化 26  
1.3.2 Eric 6的相关配置 29  
1.3.3 安装自动补全插件jedi 33  
1.3.4 测试Eric 6 35  
1.3.5 Eric 6的基本使用 35  
1.4 本书程序下载 39  
第2章 Python基本语法 41  
2.1 Python简介 41  
2.2 数据类型 43  
案例2-1 基本运算 43  
2.3 String(字符串) 45  
案例2-2 字符串入门 45  
案例2-3 字符串常用方法 46  
2.4 List(列表) 47  
案例2-4 列表操作 48  
2.5 Tuple(元组) 49  
案例2-5 元组操作 49  
2.6 Dictionary(字典) 50  
案例2-6 字典操作 50  
2.7 数据类型转换 52  
2.8 控制语句 53  
案例2-7 控制语句 53  
2.9 自定义函数 54  
案例2-8 函数定义 55  
2.10 函数partial 55  
案例2-9 partial函数的使用 56  
2.11 lambda表达式 57  
案例2-10 lambda表达式操作 57  
2.12 类和实例 58  
案例2-11 类和实例的使用 58  
2.13 类的属性和方法 59  
案例2-12 类的属性和方法的使用 59  
2.14 类的动态属性 61  
案例2-13 类的动态属性操作 61  
第3章 Qt Designer的使用 64  
3.1 Qt Designer快速入门 64  
3.1.1 新建主窗口 65  
3.1.2 窗口主要区域介绍 66  
3.1.3 查看UI文件 68  
3.1.4 将.ui文件转换为.py文件 70  
3.1.5 界面与逻辑分离 74  
3.2 布局管理入门 75  
3.2.1 使用布局管理器布局 76  
3.2.2 使用容器进行布局 79  
3.3 Qt Designer 实战应用 81  
3.3.1 绝对布局 81  
3.3.2 使用布局管理器布局 83  
3.3.3 其他需要注意的内容 91  
3.3.4 测试程序 94  
3.4 信号和槽关联 96  
3.4.1 简单入门 97  
3.4.2 快速进阶 101  
3.5 菜单栏与工具栏 106  
3.5.1 界面设计 106  
3.5.2 效果测试 110  
3.5.3 应用:加载其他窗口 112  
3.6 打包资源文件 115  
3.6.1 使用Qt Designer加载资源文件 115  
3.6.2 在窗体中使用资源文件 116  
3.6.3 转换资源文件 118  
3.6.4 导入.py资源文件 119  
第4章 PyQt 5基本窗口控件 122  
4.1 QMainWindow 122  
4.1.1 窗口类型介绍 122  
4.1.2 创建主窗口 123  
案例4-1 创建主窗口 124  
4.1.3 将主窗口放在屏幕中间 125  
案例4-2 主窗口居中显示 125  
4.1.4 关闭主窗口 127  
案例4-3 关闭主窗口 127  
4.2 QWidget 128  
4.2.1 窗口坐标系统 129  
4.2.2 常用的几何机构 130  
案例4-4 屏幕坐标系统显示 131  
4.2.3 创建第一个PyQt 5应用 133  
案例4-5 建立一个主窗口 133  
4.2.4 为应用设置程序图标 136  
案例4-6 设置程序图标 136  
4.2.5 显示气泡提示信息 137  
4.3 QLabel 138  
案例4-7 显示QLabel标签 140  
案例4-8 QLabel标签快捷键的使用 142  
4.4 文本框类控件 143  
4.4.1 QLineEdit 143  
案例4-9 EchoMode的显示效果 146  
案例4-10 验证器 147  
案例4-11 输入掩码 149  
案例4-12 综合示例 150  
4.4.2 QTextEdit 152  
案例4-13 QTextEdit的使用 152  
4.5 按钮类控件 154  
4.5.1 QAbstractButton 154  
4.5.2 QPushButton 154  
案例4-14 QPushButton按钮的使用 155  
4.5.3 QRadioButton 158  
案例4-15 QRadioButton按钮的使用 158  
4.5.4 QCheckBox 160  
案例4-16 QCheckBox按钮的使用 161  
4.6 QComboBox(下拉列表框) 164  
案例4-17 QComboBox按钮的使用 164  
4.7 QSpinBox(计数器) 166  
案例4-18 QSpinBox的使用 167  
4.8 QSlider(滑动条) 168  
案例4-19 QSlider的使用 169  
4.9 对话框类控件 171  
4.9.1 QDialog 171  
案例4-20 QDialog的使用 171  
4.9.2 QMessageBox 173  
案例4-21 QMessageBox的使用 175  
4.9.3 QInputDialog 176  
案例4-22 QInputDialog的使用 176  
4.9.4 QFontDialog 178  
案例4-23 QFontDialog的使用 178  
4.9.5 QFileDialog 180  
案例4-24 QFileDialog的使用 181  
4.10 窗口绘图类控件 184  
4.10.1 QPainter 184  
案例4-25 绘制文字 185  
案例4-26 绘制点 187  
4.10.2 QPen 189  
案例4-27 QPen的使用 189  
4.10.3 QBrush 191  
案例4-28 QBrush 的使用 192  
4.10.4 QPixmap 194  
案例4-29 QPixmap的使用 194  
4.11 拖曳与剪贴板 195  
4.11.1 Drag与Drop 195  
案例4-30 拖曳功能 197  
4.11.2 QClipboard 198  
案例4-31 QClipboard的使用 199  
4.12 日历与时间 202  
案例4-32 QCalendar的使用 202  
案例4-33 QDateTimeEdit的使用 209  
4.13 菜单栏、工具栏与状态栏 212  
4.13.1 菜单栏 212  
案例4-34 QMenuBar的使用 212  
4.13.2 QToolBar 214  
案例4-35 QToolBar的使用 215  
4.13.3 QStatusBar 216  
案例4-36 QStatusBar的使用 217  
4.14 QPrinter 218  
案例4-37 QPrinter的使用 218  
第5章 PyQt 5高级界面控件 221  
5.1 表格与树 221  
5.1.1 QTableView 221  
案例5-1 QTableView的使用 222  
5.1.2 QListView 224  
案例5-2 QListView的使用 225  
5.1.3 QListWidget 226  
案例5-3 QListWidget的使用 226  
5.1.4 QTableWidget 227  
5.1.5 QTreeView 245  
5.2 容器:装载更多的控件 251  
5.2.1 QTabWidget 251  
案例5-4 QTabWidget的使用 252  
5.2.2 QStackedWidget 254  
案例5-5 QStackedWidget的使用 254  
5.2.3 QDockWidget 256  
案例5-6 QDockWidget的使用 257  
5.2.4 多文档界面 259  
案例5-7 多重文档界面 260  
5.2.5 QScrollBar 262  
案例5-8 QScrollBar 262  
5.3 多线程 264  
5.3.1 QTimer 264  
5.3.2 QThread 268  
案例5-9 应用案例:分离UI主线程与工作线程 274  
5.3.3 事件处理 276  
5.4 网页交互 278  
案例5-10 加载并显示外部的Web页面 278  
案例5-11 加载并显示本地的Web页面 280  
案例5-12 加载并显示嵌入的HTML代码 281  
案例5-13 PyQt调用JavaScript代码 283  
案例5-14 JavaScript调用PyQt代码 286  
第6章 PyQt 5布局管理 294  
6.1 好软件的三个维度 294  
6.2 PyQt 5中的布局管理 295  
6.3 PyQt 5的绝对位置布局 296  
6.4 QBoxLayout(框布局) 298  
6.4.1 QHBoxLayout(水平布局) 298  
6.4.2 QVBoxLayout(垂直布局) 300  
6.4.3 addStretch()函数的使用 301  
6.5 QGridLayout(网格布局) 303  
6.5.1 单一的网格单元格 304  
6.5.2 跨越行和列的网格单元格 306  
6.6 QFormLayout(表单布局) 308  
6.7 嵌套布局 309  
6.7.1 在布局中添加其他布局 309  
6.7.2 在控件中添加布局 311  
6.8 QSplitter 314  
第7章 PyQt 5信号与槽 317  
7.1 信号与槽介绍 317  
7.1.1 定义信号 318  
7.1.2 操作信号 319  
7.1.3 信号与槽的入门应用 320  
7.1.4 快速进阶 324  
7.2 信号与槽再细分 324  
7.2.1 内置信号和槽函数 324  
7.2.2 内置信号和自定义槽函数 325  
7.2.3 自定义信号和内置槽函数 326  
7.2.4 自定义信号和槽函数 327  
7.3 信号与槽的高级玩法 328  
7.3.1 高级自定义信号与槽 328  
7.3.2 使用自定义参数 333  
7.3.3 装饰器信号与槽 335  
7.3.4 信号与槽的断开和连接 337  
7.3.5 Qt Designer神助攻:界面显示与业务逻辑的分离 339  
7.3.6 多线程中信号与槽的使用 345  
7.4 事件处理机制入门 348  
7.4.1 事件和信号与槽的区别 348  
7.4.2 常见事件类型 348  
7.4.3 使用事件处理的方法 349  
7.4.4 经典案例分析 349  
7.5 窗口数据传递 362  
7.5.1 单一窗口数据传递 363  
7.5.2 多窗口数据传递:调用属性 364  
7.5.3 多窗口数据传递:信号与槽 368  
第8章 PyQt 5图形和特效 373  
8.1 窗口风格 373  
8.1.1 设置窗口风格 373  
案例8-1 设置窗口风格 374  
8.1.2 设置窗口样式 375  
8.1.3 使用自定义的无边框窗口 376  
8.2 绘图 378  
8.2.1 图像类 378  
8.2.2 简单绘图 379  
8.2.3 双缓冲绘图 381  
案例8-2 绘制矩形,出现重影 382  
案例8-3 使用双缓冲技术绘制矩形,避免出现重影 384  
8.3 QSS的UI美化 387  
8.3.1 QSS的语法规则 387  
8.3.2 QSS选择器类型 389  
8.3.3 QSS子控件 390  
8.3.4 QSS伪状态 391  
8.3.5 QDarkStyleSheet 392  
8.4 设置窗口背景 395  
8.4.1 使用QSS设置窗口背景 395  
8.4.2 使用QPalette设置窗口背景 396  
8.4.3 使用paintEvent设置窗口背景 398  
8.5 不规则窗口的显示 400  
8.5.1 不规则窗口实现动画效果 404  
8.5.2 加载GIF动画效果 406  
8.6 设置样式 407  
8.6.1 为标签添加背景图片 407  
8.6.2 为按钮添加背景图片 407  
8.6.3 缩放图片 409  
8.6.4 设置窗口透明 409  
8.6.5 加载QSS 410  
第9章 PyQt 5扩展应用 412  
9.1 使用PyInstaller打包项目生成EXE文件 412  
9.2 数据库处理 417  
9.2.1 SQLite介绍 417  
9.2.2 连接数据库 421  
9.2.3 执行SQL语句 422  
9.2.4 数据库模型视图 425  
9.2.5 封装分页查询控件 428  
9.3 Pandas在PyQt中的应用 435  
9.3.1 qtpandas的安装 435  
9.3.2 官方示例解读 436  
9.3.3 设置提升的窗口控件 440  
9.3.4 qtpandas的使用 442  
9.4 Matplotlib在PyQt中的应用 445  
9.4.1 对MatplotlibWidget的解读 445  
9.4.2 设置提升的窗口控件 448  
9.4.3 MatplotlibWidget的使用 449  
9.4.4 更多扩展 451  
9.5 PyQtGraph在PyQt中的应用 451  
9.5.1 PyQtGraph的安装 452  
9.5.2 官方示例解读 452  
9.5.3 设置提升的窗口控件 453  
9.5.4 PyQtGraph的使用 454  
9.5.5 更多扩展 457  
9.6 Plotly在PyQt中的应用 457  
9.6.1 Plotly的安装 458  
9.6.2 示例解读 458  
9.6.3 设置提升的窗口控件 460  
9.6.4 Plotly_PyQt5的使用 461  
9.6.5 更多扩展 464  
9.6.6 Plotly与PyQt 5.6的结合 465  
9.6.7 更多扩展 468  
9.7 UI层的自动化测试 468  
9.7.1 手工测试与自动化测试 469  
9.7.2 模拟鸡尾酒的调酒器窗口 470  
9.7.2 将界面文件转换为Python文件 473  
9.7.3 单元测试程序 475  
9.7.4 运行测试用例 485  
9.7.5 生成测试报告 486  
第10章 PyQt 5实战一:经典程序开发 489  
10.1 获取城市天气预报 489  
10.1.1 获取天气数据 489  
10.1.2 获取不同城市的天气预报API 490  
10.1.3 界面实现 492  
10.1.4 将界面文件转换为.py文件 493  
10.1.5 调用主窗口类 495  
10.2 复利计算 496  
10.2.1 复利计算业务 496  
10.2.2 界面实现 497  
10.3 刷新博客点击量 499  
第11章 PyQt 5实战二:金融领域应用 502  
11.1 控件级别的布局管理 502  
11.2 窗口级别的布局管理 505  
11.3 PyQt 5在私募基金公司中的应用 506  
11.3.1 显示产品基本信息 506  
11.3.2 展示产品组合信息 512  
11.4 PyQt 5在量化投资中的应用 516  
11.5 PyQt 5在券商中的应用 522  
11.5.1 从爬虫说起 523  
11.5.2 程序解读 525  
参考文献 550  


查看全部↓

前言/序言
  Python可以说是世界上最广泛、最简单的编程语言之一,Qt可以说是世界上最好的程序开发库之一。Python与Qt结合的产物就是PyQt,因此,PyQt就成了Python中程序开发最棒的库之一(当然,笔者认为它在Python程序开发中就是最棒的)。由于PyQt是Python与Qt的结合,所以它既可以利用Python强大而又简洁的语法,又不会丢失Qt强大的功能。从Python的角度来说,凡是Python涉及的所有简洁、易用性的语法,PyQt都可以使用;凡是Python涉及的所有开源模块,PyQt也都可以使用。从Qt的角度来说,由于PyQt完成了对Qt的所有类的封装,因此,从理论上说,使用Qt能开发出来的东西,使用PyQt也可以开发出来,因此,PyQt可以利用Qt强大的功能。由于充分利用了双方的优点,所以PyQt在开发程序的过程中会带来一些意想不到的收获,利用Python的简洁语法与强大而又丰富的生态圈,有些程序逻辑在Qt中实现会比较复杂,而在PyQt中却很简单,这才是PyQt最大的魅力之处。  
  近年来PyQt发展很快,从1998年最初的PyQt 0.1,到PyQt 1、PyQt 2、PyQt 3、PyQt 4以及最新的PyQt 5.9(截至2017年8月9日),并且实现了PyQt与Qt的同步更新。有一点非常遗憾的是,PyQt 5与PyQt 4并不兼容,PyQt 4的代码无法在PyQt 5中运行。PyQt 5的诞生时间是2013年4月,至今,PyQt 5经过了快速发展,现在已经非常成熟,并且Qt开发团队已经明确宣布从2015年开始就放弃了对Qt 4(对应PyQt 4)的支持,因此,对于想要学习PyQt的朋友来说,一开始就学习PyQt 5是一个最好的选择。

《VNPY老旧的架构,曲解了python,开创量化交易行业的神狗模式》







stata SPSS
hifinecon 发表于 2018-11-7 23:36:58 |显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 我要注册

GMT+8, 2018-11-13 15:21