GUI,是 Graphics User Interface(圖形用戶界面)的縮寫。在 GUI 中,并不只是輸入文本和返回文本,用戶可以看到窗口、按鈕、文本框等組件,還可以通過鼠標和鍵盤操作應用。
GUI 是程序交互的一種不同的方式,使用 GUI 開發的程序,和命令行程序一樣,都具有輸入數據、處理數據和輸出數據這 3 個基本要素,只不過,使用 GUI 開發的程序,它們的輸入和輸出方式更豐富,更有趣。
值得一提的是,Python GUI 庫有很多,下面給大家羅列了常用的幾種 GUI 庫。
wxPython
wxPython 是一個跨平臺的 GUI 工具集,以流行的 wxWidgets(原名 wxwindows)為基礎,提供了良好的跨平臺外觀。簡單來說,wxPython 在 Windows上調用 Windows 的本地組件、在 mac OS 上調用 Mac OS X 的本地組件、在 linux 上調用 Linux 的本地組件,這樣可以讓 GUI 程序在不同的平臺上顯示平臺對應的風格。wxPython 是一個非常流行的跨平臺的 GUI 庫。其官方網址是http://www.wxpython.org/。
PyQt
PyQt 是 Python 編程語言和 Qt 庫的成功融合。Qt 本身是一個擴展的 C++ GUI 應用開發框架,Qt 可以在 UNIX、Windows 和 Mac OS X 上完美運行,因此 PyQt 是建立在 Qt 基礎上的 Python 包裝。所以 PyQt 也能跨平臺使用。
PyGTK
PyGTK 基于老版本的 GTK+2 的庫提供綁定,借助于底層 GTK+2 所提供的各種可視化元素和組件,同樣可以開發出在 GNOME 桌面系統上運行的軟件,因此它主要適用于 Linux/UNIX 系統。PyGTK 對 GTK+2 的 C 語言進行了簡單封裝,提供了面向對象的編程接口。其官方網址是http://www.pygtk.org/。
Pywin32
Windows Pywin32 庫允許我們像 VC 一樣的形式使用 Python 開發 win32 應用。
Kivy
Kivy 是一個開源庫,它能夠讓使用相同源代碼創建的程序實現跨平臺運行。同時,Kivy 主要關注創新型用戶界面開發,例如多點觸摸應用程序。
Flexx
Flexx 是一個純 Python 工具包,可以用來創建圖形化界面程序,還支持使用 Web 技術進行界面的渲染。
除了以上這些 Python GUI 庫之外,Python 還有一個官方御用的 GUI 庫,即 Tkinter 庫,我們常用的 IDLE 就是用 Tkinter 開發的。
Tkinter 是 Python 標準 GUI 庫,其最初是為 Tcl(這是一門工具命令語言,而不是某個電視機品牌)設計的,由于其良好的可移植性和靈活性,加上非常容易使用,因此逐漸被移植到很多腳本語言中,包括 Perl、Ruby 和 Python。