本帖最后由 lightninng 于 2015-5-19 02:24 编辑
1.PyQt5工具包简介
1.1 关于本指南这是一个入门级的PyQt指南。其目的在于引导读者快速上手PyQt5工具包。 PS:本指南英文名叫入The_PyQt4_tutorial,PyQt4入门教程,网上有pdf版的中文版但是只到第7章,而且翻译作者觉得没有必要的部分他没有加入,后来我找到了这个贴子http://wiki.woodpecker.org.cn/moin/The_PyQt4_tutorial,它是对The_PyQt4_tutorial的完整翻译版本,但是里面的代码有一些小的错误,另外是针对PyQt4的,现在PyQt5已经出来了,而且和PyQt4最大的不同是在信号槽部分(其实是在PyQt4.5版本的改动),所以我根据The_PyQt4_tutorial写了这个贴子,主要是跟着The_PyQt4_tutorial这篇教程学习PyQt5。以下教程中的所有代码均在pyqt5.2.1+python3.3.2+windows7_64位环境下创建并通过测试。 1.2 关于PyQtPyQt是用来创建GUI应用程序的工具包。它是Python编程语言与已获得成功的Qt库的混合体。其中Qt库是这个星球上最强大的GUI库之一。PyQt的官方网站是http://www.riverbankcomputing.com/software/pyqt/intro它由PhilThompson创建。 PyQt的实现被视作Python的一个模块。它由300多个类和接近6000个函数与方法构成。作为一个跨平台的工具包,PyQt可以在所有主流的操作系统上运行(Unix、Windows、Mac)。PyQt有两种许可,开发者可以在GPL和商业许可证之间做出选择。之前,PyQt的GPL许可证只在Unix系统上可用,但在PyQt4之后,其GPL许可证适用于所有支持它的系统。 因为PyQt5中有大量的类,为便于管理,它们被划分到如下的几个模块中。 注:下面这个图和模块介绍不一定对,这是pyqt4的结构和介绍。
其中QtCore模块包含了核心的非GUI功能函数,用于以下方面:日期、文件和目录、数据结构、数据流、URL、MIME、线程和进程。QtGui模块则包含了绘图组件以及与绘图相关的类,比如按钮、窗口、状态栏、工具栏、滑块、位图、颜色、字体等。QtNetWork模块包含用于网络编程的类,用户可以用这些类实现TCP/IP和UDP的客户端或服务器。并且使用这些类会使网络编程更加容易、轻便。QtXml包含用于处理XML文件的类,该模块提供了SAX和DOMAPI两种XML文件处理方式的实现。QtSvg模块包含了用于显示SVG(可缩放矢量图形,参考http://zh.wikipedia.org/wiki/SVG)文件内容的类。QtOpenGL模块用于渲染使用OpenGL库创建的3D或2D图形。并且它支持QtGUI库和OpenGL库的无缝结合。QtSql则库提供了用于操作数据库的类。 在pyqt5中,模块的结构有所改变, PyQt4的QtGui模块在PyQt5中分为了QtGui,QtPrintSupport和QtWidgets三个模块。PyQt4的QtOpenGL模块中,只有QGLContext,QGLFormat和QGLWidget这三个类还可以在PyQt5中使用。 1.3 关于pythonPython是一门很成功的脚本语言。最初由Guido van Rossum提出。第一版于1991年发布。Python从ABC和Haskell编程语言获得灵感,Python是一种高阶的、常规用途的、多平台的解释语言。有些人更愿意称之为动态语言。它很容易入门。Python是一种简单的语言,它的最显著的特性之一就是不用使用分号或括号,而是使用回车和空格分隔语句和函数。 Python 2.5版,于2006年9月发布。今天,Python由遍布全世界的一大群志愿者维护。 TIOBE编程社区索引显示了各种不同编程语言理论上的使用情况。java是冠军,C++语言在下降,但是C++在将来的十年会一直被应用,并且看起来它的地位没有真正的受到威胁。我们可以清楚的看到编程语言中特殊性。Java主要用在企业项目和移动设备项目。C是系统编程之王(OS,设备驱动,小的应用),PHP在中小型网站的应用中处于统治地位,Javascript应用在网络应用的客户端。 Python目前位于第8位。Ruby语言刚进入前十。Python最接近的竞争者是Ruby和Perl。 1.4 python的图形界面工具集为了创建图形用户界面,python工程师可以有三种选择,PyGTK, wxPython和PyQt。选择那种工具依赖于细节。 1.5 PyQt5怎么学偶然看到了知乎了一篇帖子,转过来大家参考 http://www.zhihu.com/question/26492283 1. 看官方文档 2. 看 Qt 教程,然后对应到 PyQt 3. 看 PyQt4 的教程 4. 看 PyQt4 对应 PyQt5 的改动说明,边看边写 因为我不会 python,而 python 3 的资料还比较少(至少当时没找到多少),所以我还看了: 1. python 2.7 的教程和参考手册 2. python 3 对应 python 2 的改动说明,边看边写 然后自己做学习笔记,大概像这样:
|