设为首页 收藏本站
查看: 731|回复: 0

[经验分享] PYQT 指南(一) 介绍

[复制链接]

尚未签到

发表于 2017-11-23 07:19:16 | 显示全部楼层 |阅读模式
  想做个图形的程序,以前用过wx,现在想用pyqt5试试,但是发现资料很少,还是英文的。知乎上推荐了http://zetcode.com/gui/pyqt5/,依然是英文的,自己尝试翻译下,给自己看,也分享给大家。翻译的过程中,会加入一些我自己的理解,所以内容会比原文内容要多一些。
  这是一份PyQt5的指南,这份指南适合初中级程序员,读完这份指南后,你可以编写一些完整的PyQt5的程序。
  目录如下:


  • 介绍  (introduction)
  • 日期和时间(date and time)
  • 第一个程序 (first programs)
  • 菜单和工具栏 (menus and toolbars)
  • 图层管理 (layout managerment)
  • 事件和信号 (events and signals)
  • 对话框 (dialogs)
  • 小玩意 (小工具)
  • 小玩意2 (小工具 II)
  • 绘图  (painting)
  • 自定义小工具 (custom  widgets)
  • 俄罗斯方块游戏 ( the tetris game)

  PyQt5简介
  这份PyQt5指南是介绍性的。这份指南的目的是让你使用PyQt5 工具包(tookit) 开始,指南中的内容在linux上创建和测试。
  这段话是我自己加的,我看看命令是debian系的linux,这个系列的我用ubuntu最多,不过我现在换了mac,所以我所有的操作会换到OSX上。但是文中的命令我还是会保存。
  关于PyQt5
  PyQt5是来自Digia(一家公司)的一个Qt5程序框架的python绑定集合。它支持Python2.x和Python3.x。本指南使用的是python3。 Qt库是一个最枪法的GUI库中的一个,PyQt5的官方站点是www.riverbankcomputing.co.uk/news. PyQt5 是Riverbank Computing开发的。
  PyQt5被实现为一个Python模块模式,它有超过620个类、6000个函数和方法。它是一个多平台的工具包,可以运行在所有主流的操作系统上,报错Unix,Windows 和 Mac OS。PyQt5具有双重许可。开发者可以选择GPL许可和商业许可。
  PyQt5 安装

$ sudo pip3 install pyqt5
  我们可以使用pip3 安装PyQt5
  PyQt5 模块
  PyQt5的类被分到几个模块里,包含在下面的模块中:


  • QtCore
  • QtGui
  • QtWidgets
  • QtMultimedia
  • QtBluetooth
  • QtNetwork
  • QtPositioning
  • Enginio
  • QtWebSockets
  • QtWebKit
  • QtWebKitWidgets
  • QtXml
  • QtSvg
  • QtSql
  • QtTest
  QtCore 模块包含 核心的非GUI功能,这个模块被用于时间、文件和目录、不同数据类型,流(streams)、URLs、mine typs、进程或线程。
  QtGui 包含 窗口系统继承类,事件处理类、2D图形类、基本成像类(basic imaging)、字体和文本。
  QtWidgets 模块包含的类 提供一个UI元素集合 去创建检点的桌面风格的用户接口。
  QtMultimedia 包含的类用于处理 链接摄像机(camera)功能和收音机(radio)功能和的多媒体内容 和APIs 。
  QtBluetooth 模块包含的类用于扫描设备 并和它之间进行链接和交互。
  QtNetwork 模块包含用于网络 开发的类。这些类通过使用网络编程更容易、更轻便 来让使用TCP/IP 和 UDP的客户端和服务端的 编码变得简便。
  QtPositioning 包含的类 用于确定一个使用多种可能的源的位置,像卫星(satellite)、Wi-Fi、或者一个文本文件。
  Enginio 模块实现客户端侧 用来链接Qt Cloud服务管理的应用程序的运行时 的库
  QtWebSockets 模块包含的类 实现了WebSocket 协议,
  QtWebKit 包含一个基于WebKit2的web浏览器实现 类
  QtWebKitWidgets 包含一个 基于WebKit1的 web浏览器的 实现的 类,可用于 基于QtWidgets的程序
  QtXml 包含的类用来操作XML文件。这个模块提供  SAX 和 DOM APIs 两种实现。
  QtSvg模块提供的类用于显示SVG文件的内容, SVG(Scalable Vector Graphics)是一种使用XML描述二维图形和图形应用程序的语言。
  QtSql 模块提供用来操作数据的类
  QtTest包含的函数用于 PyQt5程序的单元测试。
  PyQt4和PyQt5 的区别
  PyQt5并不向后兼容PyQt4 ,在PyQt5有一些需要注意的改变。不过,将旧的代码调整使用新库并不是非常困难。他们之间的差异如下:


  • python模块做了调整,一些模块被丢弃(QtScript),另有一些分放到子模块里(QtGui, QtWebKit)。
  • 引入了新的模块,包括QtBluetooth, QtPositioning, or Enginio
  • PyQt5只支持新式的信号和插槽处理,对SIGNAL() or SLOT()的调用不再支持。
  • PyQt5不支持任何 在Qt v5.0的 Qt API中标记为弃用或者废弃的的部分
  Python
  原文这一段是用来介绍python的,这里就不翻译了。跟大家使用搜索引擎搜到的python介绍基本一致。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-409727-1-1.html 上篇帖子: centos7下安装docker(8.1运行容器) 下篇帖子: CentOS7下单机部署RabbltMQ环境的操作记录
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表