Python UI 開發用哪個好?
12-29
我是新手,想多發展一下,現在的python UI好像有很多庫,哪個做UI開發好一些呢?PyQt,PyGTK,wxPython,TkInter ,補充一下,我在linux底下。
Python本身語法優美, 但一旦到了GUI就醜陋得不行.
wxPython PyQT都要用一種不夠優美的方式來描述GUI.
而且你有個很尷尬的問題, 要不要學一個你根本無法掌控的工具?
你花了錢買了本 wxPython in Action, 學熟練了. 這好了. Py3來了. 社區更新不到. 甚至哪天項目作者掛了, 參見web.py, 你怎麼辦? 雖然肯定會有大牛去接手, 但效率呢? 你本質上不是在學習GUI編程, 而是在學習如何使用工具.
就是說, 你學這些GUI, 根本上就是將自己綁定在了上面. Python最為人詬病的地方就是, Python 永遠要依靠別的庫來擴展, 沒有一種完全意義上的獨立性. 如果真能做到Java那種程度, 獨立不獨立也無所謂了.
所以, 我個人建議, 在這個不是桌面為王的時代. 買本HTML5的書, 用Python的WEB框架, 建立一個本地伺服器..雖然說又要學HTML5很麻煩, 但相比於用桌面各種各樣的GUI描述語言, HTML那種標籤化設計已經簡單很多了. 你完全不需要管理內存, 不需要擔心非同步的處理. 為下一步的在線化鋪平道路.
Python是什麼都能做一點, 但什麼都有替代品. 那就要發揮Python的優勢, 整合資源啊! 將GUI的渲染交給瀏覽器. 將邏輯的處理交給Python.
Python+HTML5+JS+Python框架使用經驗, 對未來也有好處.
你需要做的, 就是寫好一個模板, 然後用框架表現出來.
可以考慮tkinter; python本身追求的就是簡明快捷,tkinter就是這樣一個UI框架,並且tkinter可以很好的完成跨平台,在python3中直接導入tkinter即可使用。
這是老問題了。這裡有個討論可以參考一下,要翻牆
https://groups.google.com/forum/?hl=zh-CN#!topic/python-cn/Ls5pgkU1o-g
在使用pygtk,pyqt,wxpython後,強烈推薦tkinter,在各個系統上表現都是原生態ui界面,python自帶庫,不需要額外安裝,使用也很簡單 。
ps:linux下創建複雜的gui我還是建議使用QT c++,更方便和底層驅動交互,同時保證運行效率,而plain C的gtk有點繁瑣。python作為腳本語言,想必題主也不會去用它做很複雜的界面,更多的是用於系統管理,數值計算,以及web後台。
linux 下就別搞UI了.... 純折騰, 建議還是以腳本和web為主.
python的ui給人感覺都是很慢
首選Tkinter, tk本身就是為了快速GUI開發而生,且經過多年發展,已經十分成熟,而且Tkiner是python內置的事實上的標準GUI庫。
其次推薦GTK+3的python綁定PyGobject。
我覺得標準庫自帶的Tkinter就不錯,我主要在OS X下使用,覺得還蠻漂亮的。Python 2.7新增了ttk包(Python3 為tkinter.ttk包)增加了幾個常用的UI組件,只要不是編寫太複雜的UI,應該也夠了。
我之前看到別人用pyqt做了一個冰點音樂播放器挺好看的,你可以百度找找,真心不錯,不比其他語言開發的GUI差,但是難度和美工的素質肯定也比正常水平高很多。我個人也在學這個,個人學的方向是學一些Python的滲透方面,閑暇時間會寫一些記事本或者筆記之類的小工具,因此只需要簡單的GUI,覺得既然python的PyQT也好、wxpython也好,想要簡單的做GUI都不咋好看,不如學一個最簡單的Tkinter,簡單易上手,而且跨平台,一般自己寫的小玩意也不需要太好看的界面。
為何不試試kivy?照著教程做了個天氣預報,感覺還可以。
wxpython for python3 項目名不是wxpython而是 phoenix
htmlpy 用html + js +css3做GUI
我建議說直接使用django打造gui,然後前端就使用bootrap+javascript.
放心,django都是可以直接調用python module,話說,我畢業設計大概就是這樣架構的,很方便,很清晰!
PyGTK和PyQT這些基本上都可以跨平台的
PyGTK+Glade可以很方便設計程序,圖形界面用XML保存,然後動態解析
PyQT貌似功能很強大,當然肯定也相對不"整潔"
wxPython
既然限定在linux環境下,必須推薦使用PyGTK。GTK在Gnome環境下已經非常成熟,很多程序也是python+pygtk做的。使用glade做UI,然後用python調用.glade文件是類似wxpython的開發模式。另外推薦直接從gtk3開始學。gtk3導入模塊是from gi.repository import Gtk,和gtk2還是明顯不同的。
我最早寫圖形程序是在linux使用python+wxpython,用的也蠻好的,看中的是跨平台。但如果不考慮跨平台還是推薦使用pygtk。
推薦閱讀:
※魅族主題QQ模塊怎麼製作?
※哪裡的UI培訓最好?
※如果現在Mac OS的UI放到10年前會有什麼效果?
※如何設計「夜間模式」,有哪些值得注意的問題與經驗?