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