作為Pyhon開(kāi)發(fā)者,你遲早都會(huì)碰到圖形用戶(hù)界面(GUI)應(yīng)用開(kāi)發(fā)任務(wù),目前市場(chǎng)上有大量PythonGUI開(kāi)發(fā)框架可供選擇,PythonwikiGUIprogramming給出了超過(guò)30個(gè)跨平臺(tái)框架方案,包括Pyjamas這樣的跨瀏覽器web開(kāi)發(fā)框架。
如何從眾多的PythonGUI框架和工具包中進(jìn)行選擇是個(gè)頭疼的問(wèn)題,以下四個(gè)開(kāi)發(fā)工具包(Gtk、Qt、Tk和wxwidgets)以及七個(gè)優(yōu)秀框架供廣大開(kāi)發(fā)者參考(除了PyQt其他都完全免費(fèi)):
Kivy
這是一個(gè)非常有趣的項(xiàng)目,基于OpenGLES2,支持Android和iOS平臺(tái)的原生多點(diǎn)觸摸,作為事件驅(qū)動(dòng)的框架,Kivy非常適合游戲開(kāi)發(fā),非常適合處理從widgets到動(dòng)畫(huà)的任務(wù)。如果你想開(kāi)發(fā)跨平臺(tái)的圖形應(yīng)用,或者僅僅是需要一個(gè)強(qiáng)大的跨平臺(tái)圖形用戶(hù)開(kāi)發(fā)框架,Kivy都是不錯(cuò)的選擇。
Pyforms
誕生只有兩年的Pyforms是一個(gè)Python2.7/3.x跨環(huán)境圖形應(yīng)用開(kāi)發(fā)框架,模塊化和代碼復(fù)用可以節(jié)省大量工作。
PyGObject(PyGi)
PyGObject是一個(gè)利用GTK+為GNOME或Python應(yīng)用開(kāi)發(fā)的組件,可與跨平臺(tái)代碼庫(kù)GObject綁定。GTK+是一個(gè)功能全面的免費(fèi)跨平臺(tái)widget開(kāi)發(fā)工具包,為大量Linux和Windows/MacOSX應(yīng)用開(kāi)發(fā)圖形用戶(hù)界面。
PyQt
Qt是一個(gè)C++編寫(xiě)的跨平臺(tái)開(kāi)發(fā)框架,如果你的應(yīng)用是完全開(kāi)源的,就可以免費(fèi)使用Qt,否則你需要購(gòu)買(mǎi)商業(yè)許可。Qt已經(jīng)存在很久,一度屬于諾基亞公司,作為一個(gè)非常全面的工具代碼庫(kù)和API,被大量行業(yè)廣泛采用,覆蓋包括移動(dòng)在內(nèi)的多個(gè)平臺(tái)。你的設(shè)備中使用的衛(wèi)星導(dǎo)航應(yīng)用,其圖形用戶(hù)界面往往就是Qt開(kāi)發(fā)的。
PyGUI
與Kivy和PyQt相比,PyGUI的最大區(qū)別是僅僅面向UNIX、Macintosh和Windows平臺(tái)。PyGUI的一個(gè)主要目的就是盡量減少Python應(yīng)用與平臺(tái)底層GUI之間的代碼量,如果你需要一個(gè)簡(jiǎn)單快速容易上手的GUI開(kāi)發(fā)框架,那么PyGUI是一個(gè)不錯(cuò)的選擇。
libavg
libavg是一個(gè)C++編寫(xiě)的第三方開(kāi)源庫(kù),可以運(yùn)行在Linux、MacOSX和Windows平臺(tái)上。libavg被官方應(yīng)用于藝術(shù)性較強(qiáng)的展示應(yīng)用,可以同時(shí)處理數(shù)以千計(jì)的多媒體對(duì)象(圖片、文本、視頻和攝像頭數(shù)據(jù))。那些大屏幕上展示的多人共玩的多點(diǎn)觸摸游戲,八成都有l(wèi)ibavg的功勞。
wxPython
雖然還沒(méi)有為Python3做好準(zhǔn)備,但是作為資格最老,最流行的PythonGUI開(kāi)發(fā)框架之一,wxPython名氣很大,不得不提。wxPython基于wxWidgets,是一個(gè)C++編寫(xiě)的跨平臺(tái)GUI庫(kù),除了標(biāo)準(zhǔn)的對(duì)話(huà)框,還提供一個(gè)2D路徑繪制API,支持多種文件格式以及文本編輯和字處理widgets。
以上內(nèi)容為大家介紹了Python圖形應(yīng)用GUI開(kāi)發(fā)框架,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。http://m.fengjieshuijing.cn/