我們都知道當一個東西比較匱乏的時候硫朦,我們會比較苦惱,苦惱找不到好的替代奏路。但是但一個東西比較豐富的時候,我們也會苦惱臊诊,苦惱的是如何進行選擇鸽粉。就比如每天我們都面臨的一個巨大的難題就是今天中午吃什么?
python開發(fā)圖形界面也有這樣的煩惱抓艳,有很多gui框架提供我們選擇触机,讓我們眼花繚亂,我們很難從中選擇一個玷或。下面我簡單介紹下主流的三個python gui框架儡首。
Tkinter 模塊(Tk 接口)是 Python 的標準 Tk GUI 工具包的接口 .Tk 和 Tkinter 可以在大多數(shù)的 Unix 平臺下使用,同樣可以應用在 Windows 和 Macintosh 系統(tǒng)里。Tk8.0 的后續(xù)版本可以實現(xiàn)本地窗口風格,并良好地運行在絕大多數(shù)平臺中偏友。
wxPython 是一款開源軟件蔬胯,是 Python 語言的一套優(yōu)秀的 GUI 圖形庫,允許 Python 程序員很方便的創(chuàng)建完整的位他、功能健全的 GUI 用戶界面氛濒。
pyqt5是一套Python綁定Digia QT5應用的框架产场。它可用于Python 2和3。Qt庫是最強大的GUI庫之一舞竿。Qt強大之處在于網上有很多pyqt的資源京景,而且qt技術已經相當成熟,pyqt是采用基本和qt一致的api骗奖,因此之前使用過qt的人确徙,轉移到pyqt很容易,這也是我們學習編程的始終強調的一點执桌,一通百通鄙皇,當你一門語言學習扎實了,學透了仰挣,那么轉移到其它語言是非常容易的育苟。
pyqt5做為Python的一個模塊,它有620多個類和6000個函數(shù)和方法椎木。這是一個跨平臺的工具包,它可以運行在所有主要的操作系統(tǒng)博烂,包括UNIX香椎,Windows,Mac OS禽篱。pyqt5是雙重許可畜伐。開發(fā)者可以在GPL和商業(yè)許可之間進行選擇。
QT可能是最強大的躺率,但也許它也是最復雜的玛界。如果你要推銷自己的軟件,那么你需要確保你有正確理解QT許可證或準備支付一筆不小的費用。
QT給我們帶來最方便的好處悼吱,就是它有一個QT Desiginer慎框,這個設計器可以方便我們進行頁面的布局,可以說在Tkinter里面需要一坨坨的代碼完成的頁面布局后添,在QT里面只要拖一拖控件就搞定了笨枯。
因此,Tkinter的缺點就是遇西,如果你想要構建一個GUI界面布局馅精,你就必須自己寫代碼,因為Tkinter沒有提供一個圖形界面設計器粱檀,我估計這也是很多人沒有選擇它來做軟件的一個最主要原因洲敢。當然,Tkinter也有自己的優(yōu)點茄蚯,因為Tkinter是python自帶的圖形庫压彭,所以它的性能不是很差睦优,此外,它也更容易學習哮塞。
比較了Tkinter和QT,接下來我們談一談wxPython刨秆。
wxPython可以說是上面兩者之間的一個很好的妥協(xié)。它是免費的忆畅,源代碼是開放的衡未,允許其應用在商業(yè)產品上,你可以免費使用它和共享它家凯。同時缓醋,它也提供類似QT Designer的設計器wxFormbuilder“砘澹可以說他就是個壓縮版的QT送粱,但是該有的功能卻完全不缺失。
看到這里掂之,似乎有人可能已經決定使用wxPython了抗俄,但是我想告訴你的是,存在即合理這個道理世舰。既然這三種框架都存在动雹,并且都依然在維護,就說明這三個框架都有人在使用跟压,并且都有自己的受眾人群胰蝠,也都有自己存在的意義。
很多人都在糾結到底應該選擇哪一個震蒋,我覺得茸塞,先選擇一個并深入研究下去,你才會知道哪個更適合自己查剖,畢竟钾虐,蘿卜白菜,各有所愛笋庄,他人滿意的禾唁,并不一定適合你。