Python常用GUI框架原理解析匯總
Graphical User Interface,簡(jiǎn)稱(chēng) GUI,又稱(chēng)圖形化用戶(hù)接口,所謂的GUI編程,指的是用戶(hù)不需要輸入代碼指令,只通過(guò)圖形界面的交互就可以操作軟件功能。
Tkinter
一個(gè)輕量級(jí)的跨平臺(tái)圖形用戶(hù)界面(GUI)開(kāi)發(fā)工具,是Python的自帶的官方標(biāo)準(zhǔn)庫(kù),安裝Python 之后直接導(dǎo)入就可以使用, 我們常見(jiàn)的python IDLE就是使用TKinter實(shí)現(xiàn)。
它最大的特點(diǎn)就是上手簡(jiǎn)單, 做個(gè)簡(jiǎn)單的小工具基本夠用了,比如登錄,計(jì)算器,簡(jiǎn)單的輸入輸出工具等,缺點(diǎn)是不夠美觀,功能太單一。
Pyqt
QT是一個(gè)C ++編寫(xiě)的跨平臺(tái)的框架。這是一個(gè)非常全面的庫(kù)。1991年奇趣科技公司開(kāi)發(fā)的C++ GUI應(yīng)用程序,2014年發(fā)布了Qt5.3正式版。
PyQt是Qt庫(kù)的Python版本,它有超過(guò)300類(lèi),將近6000個(gè)函數(shù)和方法。它是一個(gè)多平臺(tái)的工具包,可以運(yùn)行在所有主要操作系統(tǒng)上,包括UNIX,Windows和Mac。PyQt采用雙許可證,開(kāi)發(fā)人員可以選擇GPL和商業(yè)許可。在此之前,GPL的版本只能用在Unix上,從PyQt的版本4開(kāi)始,GPL許可證可用于所有支持的平臺(tái)。
QT帶來(lái)的最大好處就是它有一個(gè)QT Desiginer,這個(gè)設(shè)計(jì)器可以方便我們進(jìn)行頁(yè)面的布局,可以說(shuō)在Tkinter里面需要一坨坨的代碼完成的頁(yè)面布局,在QT里面只要拖一拖控件就搞定了。
wxPython
wxPython 是一款開(kāi)源軟件,是 Python 語(yǔ)言的一套優(yōu)秀的 GUI 圖形庫(kù),允許 Python 程序員很方便的創(chuàng)建完整的、功能健全的 GUI 用戶(hù)界面。
wxPython開(kāi)源免費(fèi),支持LINUX和WINDOWS,界面本地化好, 功能完善,它也提供類(lèi)似QT Designer的設(shè)計(jì)器wxFormbuilder,可以說(shuō)是個(gè)壓縮版的QT。
PySide
使用“C++”語(yǔ)言編寫(xiě)的應(yīng)用程序/用戶(hù)界面(UI)框架。“PySide”是“Qt”的封裝。與PySide的不同之處在于PyQt可以商用。
PyGUI
減少Python應(yīng)用與平臺(tái)底層GUI之間的代碼量,面向Unix,Macintosh和Windows平臺(tái)。
Kivy
基于OpenGL ES 2,能夠讓使用相同源代碼創(chuàng)建的程序能跨平臺(tái)運(yùn)行。這個(gè)框架是事件驅(qū)動(dòng)的,基于主循環(huán),非常適合開(kāi)發(fā)游戲。
Kivy擁有能夠處理動(dòng)畫(huà)、緩存、手勢(shì)、繪圖等功能。它還內(nèi)置許多用戶(hù)界面控件如:按紐、攝影機(jī)、表格、Slider和樹(shù)形控件等。
PyGTK -GTK
在Linux中常用的“GTK+”是“PyGTK”的“GTK +”封裝。與Kivy和PyQt相比,它能不加修改的穩(wěn)定運(yùn)行在各種操作系統(tǒng)之上,如Linux,Windows,MacOS等。
Flexx
許多Python GUI庫(kù)基于以其他語(yǔ)言編寫(xiě)的庫(kù),例如用C++編寫(xiě)的庫(kù)有wxWidgets和libavg。但Flexx是用Python創(chuàng)建的,使用Web技術(shù),也正因?yàn)槿绱?Flexx 是跨平臺(tái)的。只需要有 Python 和瀏覽器就可以運(yùn)行
CEF Python
基于Google Chromium,面向Windows,MAC OS和Linux,其主要用于在第三方應(yīng)用程序中嵌入式瀏覽器的使用上
Dabo
一個(gè)跨平臺(tái)的應(yīng)用程序開(kāi)發(fā)框架,基于wxpython的再封裝庫(kù)。它提供數(shù)據(jù)庫(kù)訪問(wèn),商業(yè)邏輯以及用戶(hù)界面
Pyforms
一個(gè)用于開(kāi)發(fā)GUI應(yīng)用程序的Python 2.7 / 3.x跨環(huán)境運(yùn)行框架。
PyGObject
可以為GNOME項(xiàng)目編寫(xiě)Python應(yīng)用程序,你也可以使用GTK +編寫(xiě)Python應(yīng)用程序。
關(guān)于框架的選擇,沒(méi)有最好的,只有最適合的。其他框架的具體使用和介紹,可以查看官方文檔學(xué)習(xí):
https://wiki.python.org/moin/GuiProgramming
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 低版本IE正常運(yùn)行HTML5+CSS3網(wǎng)站的3種解決方案2. 利用CSS制作3D動(dòng)畫(huà)3. 使用Spry輕松將XML數(shù)據(jù)顯示到HTML頁(yè)的方法4. 測(cè)試模式 - XSL教程 - 55. html5手機(jī)觸屏touch事件介紹6. 用xslt+css讓RSS顯示的跟網(wǎng)頁(yè)一樣漂亮7. 《CSS3實(shí)戰(zhàn)》筆記--漸變?cè)O(shè)計(jì)(一)8. JSP的Cookie在登錄中的使用9. xpath簡(jiǎn)介_(kāi)動(dòng)力節(jié)點(diǎn)Java學(xué)院整理10. 讀大數(shù)據(jù)量的XML文件的讀取問(wèn)題
