# PyQt4 简介

> 原文： [http://zetcode.com/gui/pyqt4/introduction/](http://zetcode.com/gui/pyqt4/introduction/)

这是 PyQt4 入门教程。 本教程的目的是使您开始使用 PyQt4 工具包。 该教程已在 Linux 上创建并测试。

## 关于 PyQt4

PyQt4 是用于创建 GUI 应用的工具包。 它融合了 Python 编程语言和成功的 Qt 库。 Qt 库是功能最强大的 GUI 库之一。 PyQt4 的官方主页位于 [www.riverbankcomputing.co.uk/news](http://www.riverbankcomputing.co.uk/news) 上。 PyQt4 是由 Riverbank Computing 开发的。

PyQt4 被实现为一组 Python 模块。 它具有 440 个类和 6000 个函数和方法。 它是一个多平台工具包，可在所有主要操作系统（包括 Unix，Windows 和 Mac OS）上运行。 PyQt4 是双重许可的。 开发人员可以在 GPL 和商业许可之间进行选择。 以前，GPL 版本仅在 Unix 上可用。 从 PyQt 版本 4 开始，GPL 许可证在所有受支持的平台上均可用。

PyQt4 的类分为几个模块：

*   QtCore
*   QtGui
*   QtNetwork
*   QtXml
*   QtSvg
*   QtOpenGL
*   QtSql

`QtCore`模块包含核心的非 GUI 功能。 该模块用于处理时间，文件和目录，各种数据类型，流，URL，mime 类型，线程或进程。 `QtGui`模块包含图形组件和相关类。 这些包括例如按钮，窗口，状态栏，工具栏，滑块，位图，颜色和字体。 `QtNetwork`模块包含用于网络编程的类。 这些类通过使网络编程更加容易和可移植性，来简化 TCP/IP 和 UDP 客户端和服务器的编码。 `QtXml`包含用于处理 XML 文件的类。 该模块提供了 SAX 和 DOM API 的实现。 `QtSvg`模块提供了用于显示 SVG 文件内容的类。 可伸缩矢量图形（SVG）是一种用于描述 XML 中的二维图形和图形应用的语言。 `QtOpenGL`模块用于使用 OpenGL 库渲染 3D 和 2D 图形。 该模块可实现 Qt GUI 库和 OpenGL 库的无缝集成。 `QtSql`模块提供了用于处理数据库的类。

## Python

![python logo](img/bcc161b3a545fd24eb44bc8a4bb5d41d.jpg) Python 是一种通用的，动态的，面向对象的编程语言。 Python 语言的设计目的强调程序员的生产力和代码可读性。 Python 最初是由 Guido van Rossum 开发的。 它于 1991 年首次发布。Python 受 ABC，Haskell，Java，Lisp，Icon 和 Perl 编程语言的启发。 Python 是一种高级通用通用解释型语言。 Python 是一种简约语言。 它最明显的功能之一是它不使用分号或方括号。 它改用缩进。 目前，Python 有两个主要分支：Python 2.x 和 Python3.x。 Python 3.x 打破了与早期版本 Python 的向后兼容性。 它的创建是为了纠正该语言的某些设计缺陷并使该语言更简洁。 Python 由世界各地的一大批志愿者维护。 Python 是开源软件。 对于那些想学习编程的人来说，Python 是一个理想的起点。

本教程使用 Python 2.x 版本。

Python 编程语言支持多种编程样式。 它不会强迫程序员采用特定的示例。 Python 支持面向对象和过程编程。 对功能编程的支持也很有限。

Python 编程语言的官方网站是 [python.org](http://python.org)

Perl，Python 和 Ruby 是广泛使用的脚本语言。 它们具有许多相似之处，并且是紧密的竞争对手。

## Python 工具包

为了创建图形用户界面，Python 程序员可以在三个不错的选项中进行选择：PyQt4，PyGTK 和 wxPython。

本章是 PyQt4 工具包的介绍。