您的位置:首页 > 编程语言 > Qt开发

PyQt 5 教程

2016-03-01 12:41 525 查看
前言

笔记中有什么

我的环境配置

前言

接触Python有一阵子了,由于我的工作内容是人力资源,所以不能像专业队员一样在实际切入相关项目。但对Python的热衷程度仍然不减,尤其是对GUI开发的喜爱。在众多GUI开发包中,毫无疑问的选择了Qt1,关于Qt是什么可以自行百度,或通过脚注进行了解(我也是粘贴的…)。那么针对Python语言,Phil Thompson进行了整合,进而形成了PyQt2。目前学习进度比较缓慢,再加上PyQt 5的教程相对较少,百度“PyQt 5 教程”只有25600个搜索结果,我也希望能将自己微不足道的学习笔记贴加入进来,供大家参考。针对不同阶段的读者,我做如下推荐:

入门

首先应该推荐的是《Introduction to Python Programming and Developing GUI Applications with PyQT》,这本书由PyQt的开发者B. M. Harwani所著,大家可以去亚马逊购买正版,当然你也可以选择点击链接进行下载阅读(中国的网友是最可爱的)。

最初接触到的较为入门的帖子有网友“lightninng”的“PyQt5学习与交流 —连载更新中…”,这个给了我很关键的入门指导。

通过这个有了解到还有篇“pyqt5 python Gui入门教程”,可以作为较为系统的入门手术。

进阶

目前我处在这个阶段,学习主要利用的是以下两个文档进行互相参考,虽然Qt核心是c++,但有一定语言基础的同学,在比照两份文档学习时,似乎问题并不是很大。这部分是我目前学习的重点,也是我笔记的核心内容。

PyQt5 Reference Guide PyQt5参考指导

Qt Documentation Qt文档,

笔记中有什么

PyQt5 入门指导教程

Qt 模块

谈谈 信号/槽

我的环境配置

系统:Windows 10 Pro

IDE: PyCharm 4.0.5

Python版本:3.4.3

PyQt版本:5

Qt是一个1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些宏,易于扩展,允许组件编程。2008年,奇趣科技被诺基亚公司收购,QT也因此成为诺基亚旗下的编程语言工具。2012年,Qt被Digia收购。2014年4月,跨平台集成开发环境Qt Creator 3.1.0正式发布,实现了对于iOS的完全支持,新增WinRT、Beautifier等插件,废弃了无Python接口的GDB调试支持,集成了基于Clang的C/C++代码模块,并对Android支持做出了调整,至此实现了全面支持iOS、Android、WP。

Qt是1991年奇趣科技开发的一个跨平台的C++图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所有功能。Qt很容易扩展,并且允许真正地组件编程。基本上,Qt 同 X Window 上的 Motif,Openwin,GTK 等图形界 面库和 Windows 平台上的 MFC,OWL,VCL,ATL 是同类型的东西。
PyQt是一个创建GUI应用程序的工具包。它是Python编程语言和Qt库的成功融合。Qt库是目前最强大的库之一。PyQt是由Phil Thompson 开发。 PyQt实现了一个Python模块集。它有超过300类,将近6000个函数和方法。它是一个多平台的工具包,可以运行在所有主要操作系统上,包括UNIX,Windows和Mac。 PyQt采用双许可证,开发人员可以选择GPL和商业许可。在此之前,GPL的版本只能用在Unix上,从PyQt的版本4开始,GPL许可证可用于所有支持的平台。

因为可用的类有很多,他们被分成几个模块。 QtCore模块包含核心的非GUI功能。该模块用于时间、文件和目录、各种数据类型、流、网址、MIME类型、线程或进程。QtGui模块包含图形组件和相关的类,例如按钮、窗体、状态栏、工具栏、滚动条、位图、颜色、字体等。QtNetwork模块包含了网络编程的类,这些类允许编写TCP/IP和UDP的客户端和服务器,他们使网络编程更简单,更轻便。QtXml包含使用XML文件的类,这个模块提供了SAX和DOM API的实现。QtSvg模块提供显示的SVG文件的类。可缩放矢量图形(SVG)是一种用于描述二维图形和图形应用程序的XML语言。QtOpenGL模块使用OpenGL库渲染3D和2D图形,该模块能够无缝集成Qt的GUI库和OpenGL库。QtSql模块提供用于数据库的类。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python qt pyqt PyQt5