Python常用GUI框架原理解析匯總
Graphical User Interface,簡稱 GUI,又稱圖形化用戶接口,所謂的GUI編程,指的是用戶不需要輸入代碼指令,只通過圖形界面的交互就可以操作軟件功能。
Tkinter
一個輕量級的跨平臺圖形用戶界面(GUI)開發(fā)工具,是Python的自帶的官方標(biāo)準(zhǔn)庫,安裝Python 之后直接導(dǎo)入就可以使用, 我們常見的python IDLE就是使用TKinter實(shí)現(xiàn)。

它最大的特點(diǎn)就是上手簡單, 做個簡單的小工具基本夠用了,比如登錄,計算器,簡單的輸入輸出工具等,缺點(diǎn)是不夠美觀,功能太單一。
Pyqt
QT是一個C ++編寫的跨平臺的框架。這是一個非常全面的庫。1991年奇趣科技公司開發(fā)的C++ GUI應(yīng)用程序,2014年發(fā)布了Qt5.3正式版。
PyQt是Qt庫的Python版本,它有超過300類,將近6000個函數(shù)和方法。它是一個多平臺的工具包,可以運(yùn)行在所有主要操作系統(tǒng)上,包括UNIX,Windows和Mac。PyQt采用雙許可證,開發(fā)人員可以選擇GPL和商業(yè)許可。在此之前,GPL的版本只能用在Unix上,從PyQt的版本4開始,GPL許可證可用于所有支持的平臺。
QT帶來的最大好處就是它有一個QT Desiginer,這個設(shè)計器可以方便我們進(jìn)行頁面的布局,可以說在Tkinter里面需要一坨坨的代碼完成的頁面布局,在QT里面只要拖一拖控件就搞定了。
wxPython
wxPython 是一款開源軟件,是 Python 語言的一套優(yōu)秀的 GUI 圖形庫,允許 Python 程序員很方便的創(chuàng)建完整的、功能健全的 GUI 用戶界面。
wxPython開源免費(fèi),支持LINUX和WINDOWS,界面本地化好, 功能完善,它也提供類似QT Designer的設(shè)計器wxFormbuilder,可以說是個壓縮版的QT。
PySide
使用“C++”語言編寫的應(yīng)用程序/用戶界面(UI)框架?!癙ySide”是“Qt”的封裝。與PySide的不同之處在于PyQt可以商用。
PyGUI
減少Python應(yīng)用與平臺底層GUI之間的代碼量,面向Unix,Macintosh和Windows平臺。
Kivy
基于OpenGL ES 2,能夠讓使用相同源代碼創(chuàng)建的程序能跨平臺運(yùn)行。這個框架是事件驅(qū)動的,基于主循環(huán),非常適合開發(fā)游戲。
Kivy擁有能夠處理動畫、緩存、手勢、繪圖等功能。它還內(nèi)置許多用戶界面控件如:按紐、攝影機(jī)、表格、Slider和樹形控件等。
PyGTK -GTK
在Linux中常用的“GTK+”是“PyGTK”的“GTK +”封裝。與Kivy和PyQt相比,它能不加修改的穩(wěn)定運(yùn)行在各種操作系統(tǒng)之上,如Linux,Windows,MacOS等。
Flexx
許多Python GUI庫基于以其他語言編寫的庫,例如用C++編寫的庫有wxWidgets和libavg。但Flexx是用Python創(chuàng)建的,使用Web技術(shù),也正因為如此 Flexx 是跨平臺的。只需要有 Python 和瀏覽器就可以運(yùn)行
CEF Python
基于Google Chromium,面向Windows,MAC OS和Linux,其主要用于在第三方應(yīng)用程序中嵌入式瀏覽器的使用上
Dabo
一個跨平臺的應(yīng)用程序開發(fā)框架,基于wxpython的再封裝庫。它提供數(shù)據(jù)庫訪問,商業(yè)邏輯以及用戶界面
Pyforms
一個用于開發(fā)GUI應(yīng)用程序的Python 2.7 / 3.x跨環(huán)境運(yùn)行框架。
PyGObject
可以為GNOME項目編寫Python應(yīng)用程序,你也可以使用GTK +編寫Python應(yīng)用程序。
關(guān)于框架的選擇,沒有最好的,只有最適合的。其他框架的具體使用和介紹,可以查看官方文檔學(xué)習(xí):
https://wiki.python.org/moin/GuiProgramming
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python 實(shí)現(xiàn)Mac 屏幕截圖詳解
今天小編就為大家分享一篇對Python 實(shí)現(xiàn)Mac 屏幕截圖詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-10-10
Django實(shí)現(xiàn)微信小程序的登錄驗證功能并維護(hù)登錄態(tài)
這篇文章主要介紹了Django實(shí)現(xiàn)小程序的登錄驗證功能并維護(hù)登錄態(tài),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-07-07
python 循環(huán)讀取txt文檔 并轉(zhuǎn)換成csv的方法
今天小編就為大家分享一篇python 循環(huán)讀取txt文檔 并轉(zhuǎn)換成csv的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10
淺析Django 接收所有文件,前端展示文件(包括視頻,文件,圖片)ajax請求
這篇文章主要介紹了Django 接收所有文件,前端展示文件(包括視頻,文件,圖片)ajax請求,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值 ,需要的朋友可以參考下2020-03-03
用Python的SimPy庫簡化復(fù)雜的編程模型的介紹
這篇文章主要介紹了用Python的SimPy庫簡化復(fù)雜的編程模型的介紹,本文來自于官方的開發(fā)者技術(shù)文檔,需要的朋友可以參考下2015-04-04

