如何學習 Python GUI 編程?

1. 有哪些比較主流的框架?
2.PyQt4怎麼樣?
3. 該如何學習?


PyQT不錯的,只是要小心,這個東西是GPL的,如果你要寫商業程序需要購買商業版授權。
另外PyGTK、wxPython都是不錯的GUI庫。
Python自帶了一個基於TkInter的GUI庫,如果你不想引入第三方的依賴性,這就是唯一的選擇。
如果你在Mac下寫程序的話,Cocoa+PyObjC也不錯。
另外,Java版的Python,也就是Jython,可以使用Java的GUI庫如AWT/Swing或者SWT;.Net/CLI版的IronPython可以使用.Net/CLI支持的GUI庫如WinForm或WPF等,如果你需要在項目中集成Java或者.Net功能,這也是最佳的選擇。
無論你用哪個GUI庫都需要注意,GUI庫都有自己的對象體系和生存期管理規則,這些規則和Python自己的不一定完全一致,需要特別注意。


補充一點,如果關心商業應用的話,可以用Pyside,諾基亞親兒子,LGPL協議,也是Qt的一個Python實現。
通過py2exe可以完美打包成為exe文件,現在主要就在用這個。


Python UI 設計我只用過PyQt。感覺還是資源偏少,做dock widget 的時候各種widget套來套去就是顯示不出來,查了半天Google試過Qt Forum 各種回答還是不行。最後用Qt Designer,一個PyQt 安裝包里自帶的UI設計軟體解決的。現在最新版本的PyQt5 網站的documentation 都是鏈接到C++ documentation,所有example code 都是C++,看的時候只能自行翻譯我也是無語了。。並不知道其他幾個UI library怎麼樣所以沒有比較,只是覺得PyQt 還是有點小坑。另外Tinkter好像用來做遊戲多一些。

另外如果題主決定了要入坑的話我建議去Github先找個開源的pyqt 軟體讀一讀已經寫好的碼,這樣比純看documentation 要快很多,而且出了bug還有個最直接的碼可以參考。我暑假做項目要用pyqt, 我就是靠讀開源碼+瘋狂Google 大概三四周搞定pyqt。做那個項目之前我連Python 都還不會


推薦閱讀:

Python 網路編程需要學習哪些網路相關的知識?
Python新手,在哪裡才能閱讀到大量的基礎Python常式?
TCP如何保持長連接,並識別不同請求的?
你為什麼不用unity引擎?
如何通過新浪微博API抓取大量用戶信息?

TAG:學習 | 編程語言 | Python | 編程 | 用戶界面設計 | Python框架 |