PyQt4 toolkit 介紹
關于此文檔
本文檔是一篇介紹 PyQt4 的教程。本教程的目的是讓你開始使用 PyQt4 的toolkit。教程是在 Linux 中編寫及測試。
關于 PyQt4
PyQt4 是用于創建 GUI 應用的 toolkit 。它是 Python 和 Qt 庫的混合。Qt 庫是一種很強大的 GUI 庫。PyQt4 的官方網站在 www.riverbankcomputing.co.uk/news 。其開發者是 Phil Thompson 。
PyQt4 以一系列 Python 模塊實現。它有超過 300 個類,以及幾乎 6000 的函數及方法。它是一個多平臺的 toolkit。它可以運行于大多數的操作系統。包括 Unix,Windows 和 Mac。PyQt4 具有雙重的證書。開發者可以在 GPL 和商業的證書間選擇。早先,GPL 只適用于 Unix。但從 PyQt4 開始,GPL 適用于所有支持的平臺。
由于有很多類,所以它們被劃分為幾個模塊。
- QtCore
- QtGui
- QtNetwork
- QtXml
- QtSvg
- QtOpenGL
- QtSql
QtCore 模塊包含核心的非GUI的功能。這個模塊用于時間,文件和目錄,多種數據類型,流,url,mime type,線程或進程。 QtGui 模塊包含圖形的組件和相關的類。這里包含例如按鈕,窗口,狀態欄,工具欄,邊欄,位圖,顏色,字體等。 QtNetwork 模塊包含用于網絡編程的類。這些類允許編寫 TCP/IP 和 UDP 客戶端及服務端。它們使得網絡編程更加簡單和可移植。 QtXml 包含用于處理 xml 文件的類。此模塊提供了包括 SAX 和 DOM API 的實現。 QtSvg 模塊提供了用于顯示 SVG 文件內容的類。Scalable Vector Graphics(SVG)是一種用于描述二維圖形的語言。 QtOpenGL 模塊則用 OpenGL 庫表現 3D 及 2D。這個模塊可以無縫的把 Qt GUI 庫和 OpenGL 庫連接起來。 QtSql 庫則提供了用于數據庫的類。
Python
Python 是一個動態的面向對象的編程語言。這是一個通用的語言。它可以用于很多種軟件開發。Python 語言的設計理念就是強調程序員的效率及代碼的可讀性。Python 最初是由 Guido van Rossum 開發。它在 1991 年放出第一版。Python 受到 ABC,Haskell,Java,Lisp,Icon 和 Perl 的啟發。它是一個高層次,通用目的,多平臺,解釋型語言。Python 是一種極簡的語言。其中一個最顯而易見的特性就是它不使用分號或者花括號。取而代之,Python 使用縮進。目前 Python 有兩個主要分支,Python 2.x 和 Python 3.x 。Python 3.x 不向下兼容。它的創建主要是想修改某些設計缺陷并使得語言更加簡潔。最常見的 2.x 版本是 2.7.1 , 3.x 版本是 3.1.3 。本教程主要涉及 2.x 版本。大多數代碼以 2.x 編寫。把代碼轉到 3.x 需要花費一些時間。目前,Python 是由一大群世界上的志愿者維護。Python 是一個開源軟件。
Python 非常適合于一些想學習編程的人。
Python 語言支持多種編程范式。它并不強行要求程序員用哪種特定的范式。Python 支持面向對象及過程式編程。對于函數式編程也有一定的支持。
Python 的官網是 python.org 。
在 2011年 8月,TIOBE Index 中 Python 的排名是第 8 名。在 langpop.com 中則是第 6 位。
Perl,Python 和 Ruby 是最常用的腳本語言。它們有很多相似之處。它們是相近的對手。
Python toolkit
為了創建圖形用戶接口,Python 程序員目前會選擇幾種,PyQt4,PyGTK 和 wxPython。選擇哪個依賴于具體的條件。
因為一些證書的問題和技術需求,一種新的 Qt 和 Python 結合的項目被開發,成為 PySide 。PySide 與 PyQt4 有很高的兼容性。