全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-1.jpg (36.8 KB, 下载次数: 0)

2018-7-27 22:28 上传

一、内容介绍

基于 Python 与 PyQt 5 学习 GUI 编程,先简单了解 Qt 各个组件的使用体例,然后带你开发一个浏览器。

知识点:

使用 Qt 建立窗口 Qt 的信号与槽机制 Qt 各个组件的使用

流程:

Qt 安装 建立窗口 信号与槽 工具栏与菜单 窗口部件 结构 对话框

2、开始教程(文末含一份Python学习资料)

Qt 安装

Qt 是一个跨平台的C++应用程序开发框架。广泛用于开发GUI程序,这种情况下又被称为部件工具箱。也可用于开发非GUI程序,好比控制台工具和办事器。

pip install PyQt5

如果缺少对应的包,可以自行去下载。

引入 PyQt5:

import PyQt5

建立窗口

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-2.jpg (42.05 KB, 下载次数: 0)

2018-7-27 22:28 上传

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-3.jpg (23.77 KB, 下载次数: 0)

2018-7-27 22:28 上传

Qt 的执行机制:

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-4.jpg (22.51 KB, 下载次数: 0)

2018-7-27 22:28 上传

信号与槽

Qt 中每种组件都有所谓的信号槽(slot)机制。可用来将信号与相应的措置函数进行连接绑定。

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-5.jpg (22.12 KB, 下载次数: 0)

2018-7-27 22:28 上传

只给出了部分新添加的代码,原有的代码统一使用 ... 略过

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-6.jpg (24.11 KB, 下载次数: 0)

2018-7-27 22:28 上传

运行程序

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-7.jpg (23.81 KB, 下载次数: 0)

2018-7-27 22:28 上传

根据打印出来的字典键值可以发现

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-8.jpg (30.94 KB, 下载次数: 0)

2018-7-27 22:28 上传

修改如下:

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-9.jpg (8 KB, 下载次数: 0)

2018-7-27 22:28 上传

结果

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-10.jpg (22.04 KB, 下载次数: 0)

2018-7-27 22:28 上传

想更直观的理解信号与槽,可以进一步修改代码,由建立按钮响应的按钮事件展示信号和槽机制。

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-11.jpg (45.14 KB, 下载次数: 0)

2018-7-27 22:28 上传

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-12.jpg (28.48 KB, 下载次数: 0)

2018-7-27 22:28 上传

并且Qt 还支持自界说信号,能够由建立 pyqtSignal 对象实例界说信号对象。

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-13.jpg (43.59 KB, 下载次数: 0)

2018-7-27 22:28 上传

以上过程就是将按钮按压信号与 _click_button 槽关联

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-14.jpg (17.98 KB, 下载次数: 0)

2018-7-27 22:28 上传

只是为了展示 Qt 具备有自界说信号的功能

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-15.jpg (22.68 KB, 下载次数: 0)

2018-7-27 22:28 上传

工具栏与菜单

一般使用的软件窗口顶部会有一条工具栏或者菜单栏。 由 Qt 提供的 QToolBar 建立工具栏。

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-16.jpg (31.29 KB, 下载次数: 0)

2018-7-27 22:28 上传

因为还没有给工具栏添加任何实际功能,所以工具栏只可以看的到一条空白的横杆。

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-17.jpg (29.28 KB, 下载次数: 0)

2018-7-27 22:28 上传

然后为工具栏添加实体按钮,并且在窗口底部显示提示信息

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-18.jpg (4.6 KB, 下载次数: 0)

2018-7-27 22:28 上传

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-19.jpg (4.07 KB, 下载次数: 0)

2018-7-27 22:28 上传

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-20.jpg (61.53 KB, 下载次数: 0)

2018-7-27 22:28 上传

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-21.jpg (27.34 KB, 下载次数: 0)

2018-7-27 22:28 上传

接下来为应用添加菜单栏。

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-22.jpg (20.35 KB, 下载次数: 0)

2018-7-27 22:28 上传

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-23.jpg (28.57 KB, 下载次数: 0)

2018-7-27 22:28 上传

固然我们还可以实现二级菜单。

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-24.jpg (59.06 KB, 下载次数: 0)

2018-7-27 22:28 上传

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-25.jpg (29.1 KB, 下载次数: 0)

2018-7-27 22:28 上传

窗口部件

Qt 还有一个强年夜的部件类 QWidgets ,基于这个类派生出很多其它小部件

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-26.jpg (48.23 KB, 下载次数: 0)

2018-7-27 22:28 上传

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-27.jpg (27.03 KB, 下载次数: 0)

2018-7-27 22:28 上传

结构

Qt 支持多种控件结构体例,主要有:

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-28.jpg (11.76 KB, 下载次数: 0)

2018-7-27 22:28 上传

垂直结构

为了更加直观的看到结构效果

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-29.jpg (5.01 KB, 下载次数: 0)

2018-7-27 22:28 上传

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-30.jpg (58.46 KB, 下载次数: 0)

2018-7-27 22:28 上传

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-31.jpg (26.71 KB, 下载次数: 0)

2018-7-27 22:28 上传

水平结构

知道了垂直结构之后,水平结构也相当简单

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-32.jpg (3.43 KB, 下载次数: 0)

2018-7-27 22:28 上传

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-33.jpg (30.92 KB, 下载次数: 0)

2018-7-27 22:28 上传

网格结构

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-34.jpg (41.96 KB, 下载次数: 0)

2018-7-27 22:28 上传

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-35.jpg (31.16 KB, 下载次数: 0)

2018-7-27 22:28 上传

对话框

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-36.jpg (121.25 KB, 下载次数: 0)

2018-7-27 22:28 上传

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-37.jpg (26 KB, 下载次数: 0)

2018-7-27 22:28 上传

使用 QtWebKit 实现浏览器

流程如下:

依赖项的安装 编程实现

效果

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-38.jpg (35.85 KB, 下载次数: 0)

2018-7-27 22:28 上传

安装 QtWebKit 模块

pip install pyqt5.qtwebkit

QtWebKit 是一个基于开源项目 WebKit 的网页内容渲染引擎,借助该引擎可以更加快捷地将万维网集成到 Qt 应用中。

浏览器应该要具备以下几个功能:

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-39.jpg (18.41 KB, 下载次数: 0)

2018-7-27 22:28 上传

建立浏览器

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-40.jpg (69.51 KB, 下载次数: 0)

2018-7-27 22:28 上传

程序中使用到的图片资源可以通过以下命令下载:

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-41.jpg (4.86 KB, 下载次数: 0)

2018-7-27 22:28 上传

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-42.jpg (6.44 KB, 下载次数: 0)

2018-7-27 22:28 上传

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-43.jpg (36.37 KB, 下载次数: 0)

2018-7-27 22:28 上传

添加导航栏

在这里我们要为浏览器添加导航栏

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-44.jpg (13.81 KB, 下载次数: 0)

2018-7-27 22:28 上传

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-45.jpg (67.78 KB, 下载次数: 0)

2018-7-27 22:28 上传

现在我们不但为浏览器添加了前进、后退、停止加载和刷新的按钮,同时还利用 QWebView 封装的槽实现了这些按钮的实际功能。

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-46.jpg (10.89 KB, 下载次数: 0)

2018-7-27 22:28 上传

再给浏览器添加地址栏。

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-47.jpg (29.89 KB, 下载次数: 0)

2018-7-27 22:28 上传

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-48.jpg (4.04 KB, 下载次数: 0)

2018-7-27 22:28 上传

目前地址栏还不支持直接输入地址回车拜候,接下来我们便来实现这点。

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-49.jpg (37.49 KB, 下载次数: 0)

2018-7-27 22:28 上传

添加标签页

为了添加标签页,我们对程序的 web 界面实现做较年夜的改动。

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-50.jpg (4.81 KB, 下载次数: 0)

2018-7-27 22:28 上传

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-51.jpg (124.46 KB, 下载次数: 0)

2018-7-27 22:28 上传

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-52.jpg (11.36 KB, 下载次数: 0)

2018-7-27 22:28 上传

继续完善标签栏,为标签栏添加按钮能动态地扩展标签页面。

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-53.jpg (95.81 KB, 下载次数: 0)

2018-7-27 22:28 上传

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-54.jpg (20.22 KB, 下载次数: 0)

2018-7-27 22:28 上传

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-55.jpg (13.33 KB, 下载次数: 0)

2018-7-27 22:28 上传

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-56.jpg (17.84 KB, 下载次数: 0)

2018-7-27 22:28 上传

现在标签栏还有个很是突出的问题,就是没有关闭按钮!接下来我们将来添加关闭功能。

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-57.jpg (69.94 KB, 下载次数: 0)

2018-7-27 22:28 上传

这里我们不但给标签页添加了关闭按钮,还将标签题目自动设置为网页所提供的题目。

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-58.jpg (18.39 KB, 下载次数: 0)

2018-7-27 22:28 上传

私信小编001即可获取Python学习资料一份

全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!-59.jpg (31.68 KB, 下载次数: 0)

2018-7-27 22:28 上传

更多内容回复查看:

游客,如果您要查看本帖隐藏内容请回复

python pyqt5浏览器_全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!...相关推荐

  1. python程序员专用壁纸_神级python程序员分享的让小白30分钟快速上手的一张神图,赶快收藏!...

    原标题:神级python程序员分享的让小白30分钟快速上手的一张神图,赶快收藏! 现在很多人学编程都把Python作为入门语言,其实这是个很不错的选择,那么你知道新手如何学Python吗?小编给大家分 ...

  2. 尚硅谷_springcloud(2020新版 思维导图_全网最火SpringCloud2020全家桶教程

    全网最火SpringCloud2020全家桶教程 教程介绍 教程重点讲解了SpringCloud各种组件停止更新进入维护阶段后,后续技术组件的升级和替换策略及方案选型,既有传统Eureka.Ribbo ...

  3. python 怕网页_他文献查到凌晨两点,我用Python十分钟搞定!

    大家好,我是爱学习的趣习君. 对于应届毕业生来说,今年一定是难熬的一年.本来找工作.写论文就已经是两座大山了,还要面临论文无指导的额外压力. 这让我想到了去年毕业的表弟,当时他为了完成论文,摔烂了三个 ...

  4. python偶数列表_使用条件偶数列表创建带有地图的元组 - python

    这是我的代码: evenorodd=[1,2,3] list1=['a','b','c'] list2=['A','B','C'] res = tuple(map(lambda x: True if ...

  5. python模块大全_哎呀,不错哦!3步带你用Python打造一款智能语音聊天小软件

    最近小编与中科院的同学吃饭的时候,偶然讲起来他最近的一个项目就是利用语音识别的技术和聊天机器人来实现人机交互,简而言之就是我们说话,程序识别出来我们讲的是什么,然后通过聊天机器人跟我们实现交流.我感到 ...

  6. python埃及分数_送你一份低折扣书单,Python就占了6本,人工智能2本

    小编没什么好礼物送给大家的,这里有几本超低折扣的几本书,分享给你,为您省点小钱,不谢哟!此书单中,Python书有6本,少儿编程书4本,人工智能书2本.哪一本是你的菜,自己选吧! 文中这几本书折扣价在 ...

  7. python quit()讲解_看完本文若不能让你学通“Python”,我将永远退出编程界

    许多时候,学习过后的效果不好,可能是一些坏习惯自己还没有意识到!这篇文章教程希望可以给各位一些学习效率高坚持到底的勇气 01 学习上不明白自己要干什么.该干什么,总是让老师在后面推着屁股走.自学的朋友 ...

  8. 开发一个 Chrome 浏览器插件,拢共分几步?

    市面上浏览器有很多,比如 IE.Edge.火狐.Safari 等,但市场占有率第一的永远只有一个 -- Chrome. 之所以如此,很大一部分原因是 Chrome 丰富的插件库.我们在使用浏览器时,免 ...

  9. 如何开发一个chrome浏览器插件

    目录 前言 chrome扩展程序 文件结构 manifest.json html和css js 加载插件 调试 总结 前言 当前,chrome浏览器早已成为占据最大的市场份额,也是综合体验最好的浏览器 ...

  10. python事件处理函数_事件驱动的简明讲解(python实现)

    关键词:编程范式,事件驱动,回调函数,观察者模式 作者:码匠信龙 举个简单的例子: 有些人喜欢的某个公众号,然后去关注这个公众号,哪天这个公众号发布了篇新的文章,没多久订阅者就会在微信里收到这个公众号 ...

最新文章

  1. Java开发必须掌握的线上问题排查命令
  2. Jenkins定时构建任务
  3. WIN32 使用事件实现高效生产者消费者模型
  4. CodeForces - 126B Password(KMP中next数组)
  5. compare to造句及翻译_compare to造句
  6. s6730堆叠_不再只是堆叠硬件 ivvi S6全方位评测
  7. 模板:快速莫比乌斯变换(FMT)+快速沃尔什变换(FWT)(多项式)
  8. 推断:Facebook的新Java静态分析工具
  9. 【转】在树莓派上实现人脸识别
  10. android 传感器的学习
  11. vite.js项目创建流程图
  12. SpringMVC集成shrio框架
  13. php 抓取 wordpress 文字内容,WordPress获取页面、文章内容代码
  14. oracle的临时表空间问题
  15. input 禁止弹出默认的键盘处理方法
  16. varchar和char区别
  17. 绘制cox生存分析结果的森林图
  18. Sers微服务2.1.1
  19. Shell 命令行统计 apache 网站日志访问IP以及IP归属地
  20. IDEA 修改远程仓库地址

热门文章

  1. 挪车让路,没有留下电话怎么办?
  2. 发现一个Java文件.class在线反编译的简单好用的网址
  3. springboot集成quzytz(简单易使用复制即可)
  4. IPTV Checker(直播源自动检测工具)
  5. C语言· 实现各进制间的相互转换
  6. dism 分割镜像_UEFI安装win10 1809系统,拆分Windows 映像大于4G文件install.wim的官方教程(亲测完美)...
  7. ModelSim的使用详解
  8. Linux常用工具包安装
  9. 计算机网络之网络安全基础
  10. 探索关系抽取中的多变知识