或許,這是最強大的一款Python GUI工具

Python做爲一門腳本語言,如今更多的應用場景是在數據分析、機器學習、後端開發方面,在前端和UI方面的應用相對於JavaScript相對較少。前端

可是,有時爲了更加容易的理解、修改或者共享工程,每每須要一個用戶界面去控制後端邏輯。web

其實,在Python中不乏知名的UI構建工具包,例如,Tkinter,PyQT / PySide,wxPython,Kivy,PySimpleGui。這些工具包都很強大,可是,也很是繁瑣。編程

開發一個框架要付出的精力和代碼量幾乎和核心邏輯相差無幾,這與Python崇尚的簡單是相悖的。而本文要給你們介紹一款近期在GitHub剛開源不久的一個UI工具包,它在UI構建方面不只功能豐富,並且很是易於使用,它就是DearPyGui。後端

DearPyGui是一個易於使用且功能強大的Python GUI框架,它提供了DearImGui的包裝。微信

它與其餘Python GUI框架從根本上存在不一樣,在後臺DearPyGui使用即時模式範式,這樣可以實現更加靈活的動態界面。此外,DearPyGui不使用本機窗口小部件,而是使用計算機的GPU繪製窗口小部件,它支持以下平臺:框架

  • Windows 10
  • macOs
  • Linux

DearPyGui提供與DearImGui相同的方式爲遊戲開發人員提供了一種建立工具的簡單方法,DearPyGui提供了一種簡單的方法爲Python開發人員建立快速而強大的GUI。機器學習

安裝編輯器

使用DearPyGui須要保障你的Python版本在3.8以上,而後執行下方命令能夠安裝DearPyGui:ide

pip install dearpygui
or
pip3 install dearpygui

使用工具

DearPyGui使用很是簡單,它不須要你像使用其餘Python GUI工具那樣,須要長時間的學習、閱讀官方文檔,你只須要一些簡單的命令就能夠在UI界面上建立文本按鈕畫布表格輸入框等組件。

先來看一個小例子,

from dearpygui.dearpygui import *

add_text("Hello world")
add_button("Save", callback="save_callback")
add_input_text("string")
add_slider_float("float")

def save_callback(sender, data):
print("Save Clicked")

start_dearpygui()

結果:

從上述代碼能夠看出,只須要使用一些簡單的界面就能夠添加你想要的組件,沒有複雜的參數配置,也沒有讓人不易理解的代碼邏輯。

圖表

其實,我認爲DearPyGui最值得推薦給你們的就是它支持強大的繪製圖表接口。

繪圖是使用Python過程當中常常會用到的一種場景,可是,目前繪圖工具在交互以及與UI的結合方面都不太友好。而DearPyGui把強大的繪圖和靈活的GUI框架融合在一塊兒,你只須要短暫的代碼,就能夠在GUI上繪製一種美觀、可交互的圖像:


主題

主題和樣式是DearPyGui的另外一個亮點。當前有10種內置主題,後續版本還會加入更多主題。此外,還有一個用於建立您本身的主題的API。

畫布

DearPyGui包含一個繪圖API,能夠建立自定義的繪圖、情節,甚至2D遊戲。

佈局

佈局是我認爲DearPyGui相對於其餘Python GUI工具最大的亮點之一。

我在使用Tkinter,PyQT / PySide,wxPython,Kivy,PySimpleGui等工具的時候,最令我頭疼的就是佈局,須要耗費大量的時間和精力去排出合適的佈局。

DearPyGui中的佈局系統很是簡單,添加小部件將會按添加順序垂直、對齊放置。另外,也可使用add_same_line將小部件放置在同一行上。可使用add_group將小部件分組在一塊兒,併爲更復雜的佈局建立層次結構

from dearpygui.dearpygui import *

add_button("Button1")
add_button("Button2")

add_same_line()
add_button("Button3")

add_button("Button4")
add_button("Button5")
add_same_line()
add_group("Group1")
add_button("Button6")
add_button("Button7")
end_group()

start_dearpygui()

與其餘框架集成

DearPyGui這一點可謂是很是良心,若是你對這款框架現有的功能還不知足。那麼,它集成了其餘Python GUI框架,你能夠把它與其餘框架結合在一塊兒使用,例如,

from dearpygui.dearpygui import *
from tkinter import Tk, Label, Button

# tkinter
root = Tk()
root.title("A simple GUI")
root.button = Button(root, text="Press me")
root.button.pack()

# DearPyGui
add_slider_float("Slider")
add_button("Get Value", callback="button_callback")

setup_dearpygui()
while True:
render_dearpygui_frame()
root.update()

cleanup_dearpygui()

在這個示例中,就把DearPyGui與tkinter結合在一塊兒進行GUI開發。

總結

DearPyGui是一款簡單、開放、靈活的Python GUI框架,不管你是專業的開發人員,或者是知足平常工做的輕度使用用戶,DearPyGui均可以讓你圍繞它開發並構建一款簡單、提高效率的系統。目前這款框架剛開源不久,可是,我我的認爲很是值得嘗試一下這款框架。


推薦閱讀

微軟再出神器,Notebook正在改頭換面!

從zero到hero,一款Python天然語言處理效率利器!

AI開發效率倍增!讓JupyterLab成爲無所不能的開發神器

我的微信

歡迎各位一塊兒討論、一塊兒學習,共同促進,感興趣的能夠加我我的微信。

本文分享自微信公衆號 - 七步編程(CodeSteps)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索