Python常用GUI框架原理解析匯總
Graphical User Interface,簡(jiǎn)稱 GUI,又稱圖形化用戶接口,所謂的GUI編程,指的是用戶不需要輸入代碼指令,只通過圖形界面的交互就可以操作軟件功能。
Tkinter
一個(gè)輕量級(jí)的跨平臺(tái)圖形用戶界面(GUI)開發(fā)工具,是Python的自帶的官方標(biāo)準(zhǔn)庫,安裝Python 之后直接導(dǎo)入就可以使用, 我們常見的python IDLE就是使用TKinter實(shí)現(xiàn)。
它最大的特點(diǎn)就是上手簡(jiǎn)單, 做個(gè)簡(jiǎn)單的小工具基本夠用了,比如登錄,計(jì)算器,簡(jiǎn)單的輸入輸出工具等,缺點(diǎn)是不夠美觀,功能太單一。
Pyqt
QT是一個(gè)C ++編寫的跨平臺(tái)的框架。這是一個(gè)非常全面的庫。1991年奇趣科技公司開發(fā)的C++ GUI應(yīng)用程序,2014年發(fā)布了Qt5.3正式版。
PyQt是Qt庫的Python版本,它有超過300類,將近6000個(gè)函數(shù)和方法。它是一個(gè)多平臺(tái)的工具包,可以運(yùn)行在所有主要操作系統(tǒng)上,包括UNIX,Windows和Mac。PyQt采用雙許可證,開發(fā)人員可以選擇GPL和商業(yè)許可。在此之前,GPL的版本只能用在Unix上,從PyQt的版本4開始,GPL許可證可用于所有支持的平臺(tái)。
QT帶來的最大好處就是它有一個(gè)QT Desiginer,這個(gè)設(shè)計(jì)器可以方便我們進(jìn)行頁面的布局,可以說在Tkinter里面需要一坨坨的代碼完成的頁面布局,在QT里面只要拖一拖控件就搞定了。
wxPython
wxPython 是一款開源軟件,是 Python 語言的一套優(yōu)秀的 GUI 圖形庫,允許 Python 程序員很方便的創(chuàng)建完整的、功能健全的 GUI 用戶界面。
wxPython開源免費(fèi),支持LINUX和WINDOWS,界面本地化好, 功能完善,它也提供類似QT Designer的設(shè)計(jì)器wxFormbuilder,可以說是個(gè)壓縮版的QT。
PySide
使用“C++”語言編寫的應(yīng)用程序/用戶界面(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),非常適合開發(fā)游戲。
Kivy擁有能夠處理動(dòng)畫、緩存、手勢(shì)、繪圖等功能。它還內(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ù),也正因?yàn)槿绱?Flexx 是跨平臺(tái)的。只需要有 Python 和瀏覽器就可以運(yùn)行
CEF Python
基于Google Chromium,面向Windows,MAC OS和Linux,其主要用于在第三方應(yīng)用程序中嵌入式瀏覽器的使用上
Dabo
一個(gè)跨平臺(tái)的應(yīng)用程序開發(fā)框架,基于wxpython的再封裝庫。它提供數(shù)據(jù)庫訪問,商業(yè)邏輯以及用戶界面
Pyforms
一個(gè)用于開發(fā)GUI應(yīng)用程序的Python 2.7 / 3.x跨環(huán)境運(yùn)行框架。
PyGObject
可以為GNOME項(xiàng)目編寫Python應(yīng)用程序,你也可以使用GTK +編寫Python應(yīng)用程序。
關(guān)于框架的選擇,沒有最好的,只有最適合的。其他框架的具體使用和介紹,可以查看官方文檔學(xué)習(xí):
https://wiki.python.org/moin/GuiProgramming
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python中Tkinter Scrollbar滾動(dòng)條(窗口滑動(dòng)條)
本文主要介紹了Python中Tkinter Scrollbar滾動(dòng)條(窗口滑動(dòng)條),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03tensorflow 只恢復(fù)部分模型參數(shù)的實(shí)例
今天小編就為大家分享一篇tensorflow 只恢復(fù)部分模型參數(shù)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-01-0150行Python代碼實(shí)現(xiàn)視頻中物體顏色識(shí)別和跟蹤(必須以紅色為例)
本文通過50行Python代碼實(shí)現(xiàn)視頻中物體顏色識(shí)別和跟蹤效果,通過實(shí)例截圖和實(shí)例代碼給大家講解的非常詳細(xì),需要的朋友可以參考下2019-11-11使用python創(chuàng)建極坐標(biāo)平面的示例代碼
PolarPlane 是 Manim(一個(gè)用于數(shù)學(xué)動(dòng)畫的Python庫)中的一個(gè)類,用于創(chuàng)建極坐標(biāo)平面,與笛卡爾坐標(biāo)系不同,極坐標(biāo)系是基于角度和半徑來定位點(diǎn)的,本文就給大家介紹如何用python創(chuàng)建極坐標(biāo)平面,需要的朋友可以參考下2024-08-08python實(shí)現(xiàn)web應(yīng)用框架之增加響應(yīng)對(duì)象
這篇文章主要介紹了python利用web應(yīng)用框架如何增加響應(yīng)對(duì)象的,文中有相應(yīng)的代碼示例,對(duì)大家的學(xué)習(xí)或工作有一定的參考價(jià)值,需要的同學(xué)可以參考下2023-05-05python GUI模擬實(shí)現(xiàn)計(jì)算器
這篇文章主要為大家詳細(xì)介紹了python GUI模擬實(shí)現(xiàn)計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-06-06python+django快速實(shí)現(xiàn)文件上傳
本篇文章主要介紹了django快速實(shí)現(xiàn)文件上傳,通過django web框架來實(shí)現(xiàn)一些簡(jiǎn)單的功能,有需要的可以了解一下。2016-10-10簡(jiǎn)單快捷:NumPy入門教程的環(huán)境設(shè)置
NumPy是Python語言的一個(gè)擴(kuò)展程序庫,支持高階大量的維度數(shù)組與矩陣運(yùn)算,此外也針對(duì)數(shù)組運(yùn)算提供大量的數(shù)學(xué)函數(shù)庫,本教程是為那些想了解NumPy的基礎(chǔ)知識(shí)和各種功能的人準(zhǔn)備的,它對(duì)算法開發(fā)人員特別有用,需要的朋友可以參考下2023-10-10Python基于opencv實(shí)現(xiàn)的簡(jiǎn)單畫板功能示例
這篇文章主要介紹了Python基于opencv實(shí)現(xiàn)的簡(jiǎn)單畫板功能,結(jié)合實(shí)例形式分析了Python使用opencv模塊進(jìn)行圖形繪制的相關(guān)操作技巧,需要的朋友可以參考下2019-03-03