PYQT 指南(一) 介绍

想做个图形的程序,以前用过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),另有一些分放到子模块里(QtGuiQtWebKit)。
  • 引入了新的模块,包括QtBluetoothQtPositioning, or Enginio
  • PyQt5只支持新式的信号和插槽处理,对SIGNAL() or SLOT()的调用不再支持。
  • PyQt5不支持任何 在Qt v5.0的 Qt API中标记为弃用或者废弃的的部分

 

Python

原文这一段是用来介绍python的,这里就不翻译了。跟大家使用搜索引擎搜到的python介绍基本一致。

 

posted on 2017-10-21 16:06  R_e  阅读(628)  评论(0)    收藏  举报

导航