由于Python越來越受歡迎,并得到廣泛采用,它將成為2020年流行起來的編程語言。在牢固掌握Python編程基礎(chǔ)之后,初學(xué)者面臨的下一個挑戰(zhàn)是構(gòu)建用戶界面。幸運的是,有很多Python框架專門幫助開發(fā)人員構(gòu)建令人驚嘆但高度直觀的用戶界面,以適應(yīng)程序應(yīng)用。
本文的目的是幫助那些正在努力尋找用Python中合適框架框來架構(gòu)建交互式GUI的的人。
什么是GUI
圖形用戶界面(GUI)是用戶打開應(yīng)用程序或網(wǎng)站時看到的第一個東西,并與之交互。擁有一個良好的GUI能夠幫助你提高平臺的聲譽和用戶數(shù)量。用戶界面通常包括許多視覺元素,如圖標(biāo)、按鈕、圖形、顯示文本和其他幾種輸入形式,如復(fù)選框、文本輸入框等。
所有這些元素的結(jié)合構(gòu)成了你的應(yīng)用程序或網(wǎng)站的用戶體驗的重要部分。這些視覺元素的輸入可以來自通常的媒介,如鍵盤、鼠標(biāo)和觸摸屏。
優(yōu)秀GUIPython框架
專注于完善用戶界面是一件好事,但同樣重要的是提供最好的用戶體驗,在不投入過多資源的情況下交付它也同樣重要。Python有大量用于開發(fā)GUI的框架,我們在下面的列表中收集了一些最流行的PythonGUI框架。
1.PyQt5
PyQt包是圍繞Qt框架構(gòu)建的,Qt框架是一個跨平臺框架,用于為各種平臺創(chuàng)建大量應(yīng)用程序。
與Qt5框架類似,PyQt5也是完全跨平臺的。通過利用PyQt5的強大功能,開發(fā)人員可以為Windows、Mac、Linux、iOS、Android等平臺構(gòu)建應(yīng)用程序。
在創(chuàng)建gui時,PyQt5提供了令人印象深刻的QtGui和QtDesigner模塊,它們提供了許多可視化元素,開發(fā)人員可以通過簡單的拖放實現(xiàn)這些元素。當(dāng)然,也存在通過代碼創(chuàng)建這些元素的選項,允許您輕松創(chuàng)建小規(guī)模和大規(guī)模的應(yīng)用程序。Python的模塊化以擴展的形式延伸到PyQt5,為您提供了比GUI構(gòu)建多得多的特性。如果您喜歡這里看到的內(nèi)容,可以使用“pipinstallPyQt5”命令嘗試一下PyQt5。
2.Tkinter
Tkinter通常被大多數(shù)Python開發(fā)人員稱為首選GUI工具包,創(chuàng)建Tkinter是為了給現(xiàn)代開發(fā)人員提供TkGUI工具包的標(biāo)準(zhǔn)接口和它的Python綁定。在Tkinter的世界里,我們所熟悉的大多數(shù)可視化元素都被稱為小部件,每個小部件都提供了不同級別的可定制性。
Tkinter被整合到當(dāng)前所有主要操作系統(tǒng)的Python安裝程序中,并提供了一系列我們確信你一定熟悉的常用元素。下面列出了一些視覺元素:
·Frame:為你的應(yīng)用程序提供一個結(jié)構(gòu)
·按鈕:用于獲取用戶的輸入
·復(fù)選按鈕:用于進行選擇
·標(biāo)簽:用于顯示文本信息
·文件對話框:用于在應(yīng)用程序中上傳或下載文件
·畫布:為繪制圖形和情節(jié)提供空間
3.Kivy
Kivy是用Python和Cython混合編寫的,它是一個開源GUI框架,用于構(gòu)建一些最直觀的用戶界面,包括實現(xiàn)自然用戶界面(NUI)的多點觸摸應(yīng)用程序。
有了Kivy,界面設(shè)計師可以編寫一次代碼并部署到多個平臺,而內(nèi)置的OpenGLES2支持允許他們使用現(xiàn)代和強大的圖形和設(shè)計技術(shù)。KivyGUI框架在現(xiàn)實世界中最常見的用法可以在我們的Android和iOS應(yīng)用程序中看到。該框架的其他廣泛實現(xiàn)可以在Linux、Windows、樹莓派和MacOS設(shè)備的用戶界面中看到。按照網(wǎng)站上提供的安裝說明,您可以輕松地將這個框架添加到您的環(huán)境中。
4.wxPython
wxPython本質(zhì)上是一個Python擴展模塊,充當(dāng)wxWidgetsAPI的包裝器。wxPython允許Python開發(fā)人員創(chuàng)建不給應(yīng)用程序增加額外開銷的本地用戶界面。wxPython的跨平臺功能允許部署到Windows、MacOS、Linux和基于unix的系統(tǒng)上,幾乎不需要做任何修改。
開發(fā)人員二人組后來發(fā)布了ProjectPhoenix,作為wxPython的繼承者,并支持Python3。它是從頭構(gòu)建的,以提供wxWidgets工具包的更簡潔的Python實現(xiàn)。如果您有興趣嘗試這個框架,您會很高興地知道最新的更新v4.1.1已經(jīng)將它添加到Python包索引中。隨著PyPI的加入,“pipinstallwxPython==4.1.1”命令的下載變得更加流暢。
5.Libavg
由UlrichVonZadow用c++編寫的開源LibavgGUI框架使用Python作為腳本語言,是為現(xiàn)代觸屏設(shè)備開發(fā)用戶界面的最佳框架之一。圖像密集型的部分,如視頻解碼、視覺效果和合成,都是通過OpenGL和GPU著色器實現(xiàn)的硬件加速來處理的,以提供平滑和豐富的圖像視覺效果。
libavg支持大多數(shù)常用的觸摸驅(qū)動程序,并提供一系列功能,如攝像頭支持,文本對齊,動畫支持,GPU效果,如模糊,陰影,等等。還有一個高級的屏幕布局引擎,為視覺元素提供旋轉(zhuǎn)、縮放、裁剪、混合模式和其他操作技術(shù)。
libavg是用c++構(gòu)建的,以確保難以置信的快速執(zhí)行時間,希望應(yīng)用程序獲得絕對最佳性能的開發(fā)人員不會對它失望。你可以在他們網(wǎng)站的下載頁面上找到安裝說明。
6.PysimpleGUI
這個框架的名稱難道不是完全暴露了它要做什么嗎?回到這個主題,那些剛開始使用Python應(yīng)用程序開發(fā)的人可能會在一開始發(fā)現(xiàn)很多PythonGUI框架令人生畏。MikeB.在2018年創(chuàng)建了PySimpleGUI,使Python新手更容易進入GUI開發(fā),而無需花費太多時間進入可用的更高級GUI開發(fā)選項的復(fù)雜性。
PySimpleGUI采用了4個廣泛流行的PythonGUI框架,包括Qt、Tkinter、WxPython和Remi,并通過實現(xiàn)大多數(shù)樣板代碼降低了它們的難度。結(jié)果呢?
初學(xué)者可以選擇自己喜歡的GUI框架,并且可以輕松訪問隨之而來的各種視覺元素,從而創(chuàng)建直觀的用戶界面,而無需深入研究框架。這并不意味著經(jīng)驗豐富的開發(fā)人員只能訪問他們喜歡的框架的簡化版本,獲得完整的本地功能的選項仍然存在。
7.PyForms
PyFormsGUI框架是一個Python軟件層,其核心是廣泛著名的Windows窗體,它允許開發(fā)人員創(chuàng)建一些驚人的、高度交互的用戶界面。PyForms的跨平臺功能使開發(fā)人員可以更容易地為多個平臺創(chuàng)建應(yīng)用程序,只需對代碼進行少量更改,消除了不必要的慢化。PyForms提供了幾個流行的以圖形為中心的庫的實例,如PyQt、OpenGL等,以幫助開發(fā)人員為他們的應(yīng)用程序創(chuàng)建用戶界面。
PyForms庫分為3個不同的部分,包括PyForms-gui、PyForms-web和PyForms-終端。每一層都允許在Web、終端和WindowsGUI中執(zhí)行PyForms應(yīng)用程序。通過對模塊化的關(guān)注,PyForms變得非常適合快速創(chuàng)建原型,它還可以縮短應(yīng)用程序后期階段的維護工作。安裝是通過“pipinstallpyforms”命令來處理的,該命令會添加所有這三個庫,或者如果您想單獨使用這些庫,也可以這樣做。
8.Wax
還記得我們前面討論過的wxPython框架嗎?就像wxPython是wxWidgetsGUI工具包的包裝器一樣,waxGUI框架是wxPython更加友好的包裝器。像其他流行的框架一樣,wax也是作為Python的擴展模塊實現(xiàn)的。對于那些想知道的人來說,是的,wax支持構(gòu)建跨平臺應(yīng)用程序。
wax背后的理念是通過移除wxPython的底層功能,為應(yīng)用程序開發(fā)人員提供更簡單的訪問Python元素和對象的方式來構(gòu)建gui。由于底層平臺wxWindows非常高效,所以waxGUI框架在使用平臺提供的本機小部件時,具有相同的效率和速度。
9.PySide2
PySide2是由提供給我們廣泛流行的應(yīng)用開發(fā)框架Qt的同一家公司構(gòu)建的,仔細(xì)觀察,你會遇到術(shù)語“QtforPythonProject”,這只不過是移植PySide來支持Qt5的任務(wù),而框架本身現(xiàn)在被稱為PySide2。
它現(xiàn)在被稱為QtforPython項目的官方跨平臺Python模塊。該項目為Python開發(fā)人員提供了一個經(jīng)過驗證的工具和庫的集合,用于快速和靈活地創(chuàng)建令人驚嘆的用戶界面工具,Qt5和以上所提供的。
PySide2還為尋找它的開發(fā)人員提供了強大的社區(qū)支持。PySide2的文檔部分被劃分為教程、視頻指南、示例、API文檔等區(qū)域,以廣泛地涵蓋框架中包含的各種主題。AMD的Radeon控制軟件、奔馳MiniCooper的駕駛艙娛樂解決方案和TomTom的導(dǎo)航系統(tǒng)都是在Qt上運行的高科技和現(xiàn)代的例子。
10.PyGUI
PythonGUI項目,或者更常見的PyGUI框架,是一個簡單的API,它允許開發(fā)人員使用Python應(yīng)用程序的本地元素創(chuàng)建用戶界面。作為一個相當(dāng)輕量級的API,PyGUI框架在Python應(yīng)用程序和目標(biāo)平臺之間添加的額外代碼很少。PyGUI目前支持為基于unix的系統(tǒng)、Windows機器和MacOS設(shè)備創(chuàng)建應(yīng)用程序。
為了使開發(fā)人員更容易地進行應(yīng)用程序開發(fā),整個庫的文檔都是用Python編寫的,從而不需要參考其他GUI庫。PyGUI可用于Python2和3,是的,它確實支持?jǐn)U展,讓你使用OpenGL和GTK。
以上內(nèi)容為大家介紹了優(yōu)秀的GUIPython框架,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機構(gòu):千鋒教育。http://m.2667701.com/