不要問我為什么要用 Python 來做這種事,我回到“高興咋地”也不是不可以,總之好奇有沒有好的解決方案。逛了一圈下來,總體上來說,Python 圖形界面有以下幾個可行度比較高的解決方案。
1. pyside
為什么要把它寫第一個呢?因為已經接觸過 Qt,所以,總體來講,感覺它更親一點。沒錯,它就是 pyQt 的 LGPL 版本(Qt官方的介紹是,Python for Qt)。
這個框架最早是由 Nokia 的芒果團隊做完的,但是,眾所周知的原因,這個團隊已經消失了。目前從找到的資料來看,Qt 重新接管了它的開發工作,而且處於活躍狀態。但是也不見有人推廣啊。。。據說,Matplotlib,PhotoGrabber,Wing IDE,Lucas Chess,Fminer都是用 pyside 來做的,貌似很好用的樣子(別問我他們是干嘛的,我是 copy 來的)。
Nokia 的團隊開發的喲!是為了手機開發的喲!那自然天然的支持 Qt Mobile Interface 了。
它的主頁:http://qt-project.org/wiki/PySide/
這兩位兄台對 pyside 做了不錯的介紹:
1) http://blog.sina.com.cn/s/blog_62c832270101dca6.html
2)http://www.cnblogs.com/goodhacker/p/3984377.html
2. tkInter
這是 Python 做的 tk/tcl 的殼。tk/tcl 有着廣泛的應用,據說用戶群體很龐大。而且, tcl8 以后,用它做出來的 App 已經可以具備系統原生的效果了,不再是那種丑丑的界面。
這個是 Python 官方承認的標准 GUI 方案(官方說 “de-facto standard“,執行上的標准,我們還沒承認?),資料也比較多,自行了解吧,這里只做備忘。
總體感覺不大好,雖然說也支持多種平台,但是還是呵呵了。
主頁:https://wiki.python.org/moin/TkInter/
3. PyGTK
偶然發現,LinuxMint 的好多頁面實現,都用的是 PyGTK。操作系統級別的實現,應該是會比較在乎效率的?所以,對 PyGTK 做了一下簡單了解。
PyGTK 的所有可是功能都是調用 GTK+ library 來實現的,所以,據官方介紹, PyGTK 是可以開發全功能的 GUI 程序的。而且, GTK 和 Python 都是跨平台的緣故,PyGTK 無需任何修改,就可以隨意在任意操作系統上運行(安裝過 GTK 庫的話)。
此外,因為 PyGTK 的主要設計目標是使用簡單和快速開發(ease of use and rapid prototyping)。此外,PyGTK 還有一流的處理本地化語言的獨特功能。
PyGTK 使用 LGPL license。
項目主頁:http://www.pygtk.org/
4. wxPython
wxWidget 的 Python 版本。wxWidget 的知名度也就不必介紹了,似乎 wxPython 也比 tkinter 更受歡迎。wxPython 的官方站更是吊炸天的掛着一句“Why the hell hasn't wxPython become the standard GUI for Python yet?”(現已消失,慫了?)。
tkinter 都沒興趣了解, wxWidget 也就被呵呵了。不過做小三能做這么有名,也自然有過人之處,自然不能榜上無名。
主頁:http://www.wxpython.org