三大Python GUI開源框架,誰才是你的最愛?(python開源框架排行)
大多數(shù)程序員在已經(jīng)準(zhǔn)備好分析基礎(chǔ)示例之后,都會開始為程序構(gòu)建一個圖形用戶界面。
在Python中,開始使用GUI編程的步驟并不復(fù)雜,但是它們要求用戶開始做出一些選擇。作為通用編程語言,每個常見操作系統(tǒng)都有可用的解釋器,所以創(chuàng)建圖形用戶界面對于Python來說并不是難事。因為程序員有很多的選擇,真正困難的是如何為用戶創(chuàng)建一個簡單的方式來與程序互動。
在各種各樣的平臺上都有相應(yīng)的UI框架,它們可能分別可以在Windows,Mac和Linux平臺上運(yùn)行,也可能可以同時在這三個平臺上運(yùn)行。
“你的應(yīng)用程序是否有一個傳統(tǒng)的圖形用戶界面?”對于某些應(yīng)用程序來說,這個答案是肯定的,如果這個應(yīng)用程序本質(zhì)上是圖形化的,且在本地機(jī)器上做了優(yōu)化或者是在本地運(yùn)行,那么就要考慮構(gòu)建一個桌面圖形用戶界面。如果是更為通用的程序,那么最好添加命令行或者Web界面。
命令行擁有很多優(yōu)勢,例如速度、遠(yuǎn)程訪問、可重用性,可腳本化和控制等等。這對用戶來說往往會比圖形用戶界面更為重要。當(dāng)然,現(xiàn)在有很多庫可以支持設(shè)計很好的命令行程序,如Click,Cement和Cliff。
同樣的,對于本地運(yùn)行的程序來說,Web界面也是十分值得考慮的。尤其是當(dāng)你覺得用戶可能希望應(yīng)用程序能夠像Django,Flask或Pyramid這樣的項目可以直接遠(yuǎn)程托管。甚至你可以使用類似pywebview這樣的庫將Web應(yīng)用程序包裹在native GUI window。
那么如果來創(chuàng)建一個GUI呢?這里有三個夢幻般的開源庫可以推薦給你!
PyQt
PyQt實現(xiàn)了流行的Qt庫,它開辟了在Python中開發(fā)應(yīng)用程序的可能性,而且開發(fā)出的應(yīng)用程序在其他平臺上擁有熟悉的外觀和感覺。
PyQt可以利用社區(qū)中強(qiáng)大的工具和資源,其擁有 commercial和GPL的雙重許可,與Qt項目不同,支持PyQt的主要公司都會提供license FAQ,有助于幫助程序員了解這對應(yīng)用程序意味著什么。
Tkinter
如果有一個包可以被稱為“Python的標(biāo)準(zhǔn)GUI工具包”,那么它一定就是Tkinter。Tkinter是Tcl / Tk的封裝,是90年代初推出的流行圖形界面。選擇Tkinter的優(yōu)勢是它擁有大量的資源,包括書籍和代碼示例,以及活躍的用戶社區(qū),如果您有任何疑問,社區(qū)成員都可能會幫助到你。除此之外,還有很多簡單的入門示例,而且可讀性非常好。
Tkinter可以使用Python許可證,在Tcl / Tk的BSD許可證之上。
wxPython
WxPython帶來了wxWidgets 跨平臺GUI庫,支持將本機(jī)C 引入到Python中。WxPython是一種稍微更現(xiàn)代化的方法,它看起來比不同操作系統(tǒng)上的Tkinter更加接近原生,因為它不會嘗試創(chuàng)建自己的一組小部件。它的入門使用也比較容易,社區(qū)中的開發(fā)人員也在不斷增長,但是需要注意的是,可能需要將wxPython與應(yīng)用程序捆綁在一起,因為它不會隨Python自動安裝。
WxPython使用其父項目的wxWindows庫許可證。
當(dāng)然,上面這三種開源庫并不是唯一的選擇,在Python的官方頁面上,https://wiki.python.org/moin/GuiProgramming,你可以找到數(shù)十種工具。如果你有其它很好的推薦,歡迎在下方留言評論。