当前位置:首页>python>DearPyGui:Python下的高性能GUI,实时数据监控、频繁交互、或者需要好看一点的效果首先GUI

DearPyGui:Python下的高性能GUI,实时数据监控、频繁交互、或者需要好看一点的效果首先GUI

  • 2026-10-11 08:24:01
DearPyGui:Python下的高性能GUI,实时数据监控、频繁交互、或者需要好看一点的效果首先GUI

说实话,用Python写界面这事,一直挺让人头大的。Tkinter吧,丑得不想给用户看;PyQt倒是强大,但授权和体积又让人纠结;Kivy么……反正我是没搞明白。

前阵子有个朋友跟我说,你试试DearPyGui。我一看,好家伙,这玩意儿有点东西。

它到底牛在哪?

先给你一个最直观的感受——这框架跑起来跟开了挂一样,能同时显示上百万个数据点,而且每秒60帧,你想缩放拖拽它都不带卡的。为啥?因为它后面的渲染全靠GPU,跟那些基于CPU硬画的框架根本不是一个物种。

你可能想问:这不就是个画图工具吗?不不不,它除了画图,还有节点编辑器(对,就那种做特效节点、流程图的)、自定义画布(搞点2D小游戏都行),主题皮肤也是想调成啥样就啥样。

核心就是一个字:快。两个额外的字:好看。

装起来费劲吗?

一点都不费劲。前提是你的Python得是3.8以上的64位版本。

打开终端,一行搞定:

pip install dearpygui

或者如果你习惯用pip3:

pip3 install dearpygui

装完就能跑,没有那些乱七八糟的依赖冲突。

写一个窗口得多少代码?

大概……十来行吧。你看这个例子:

import dearpygui.dearpygui as dpgdefsave_callback():print("保存按钮被点了")dpg.create_context()dpg.create_viewport()dpg.setup_dearpygui()with dpg.window(label="示例窗口"):    dpg.add_text("Hello 世界")    dpg.add_button(label="保存", callback=save_callback)    dpg.add_input_text(label="输入框")    dpg.add_slider_float(label="滑块")dpg.show_viewport()dpg.start_dearpygui()dpg.destroy_context()

跑起来你就能看到一个像模像样的窗口,有文字、按钮、输入框、滑块。按钮点下去还能触发回调——这跟其它框架没啥区别,但背后运行的效率可差远了。

它到底是什么来头?

DearPyGui底层基于Dear ImGui——没错,就是游戏圈和图形工具圈里那个鼎鼎大名的即时模式GUI库。再加上ImPlot(画图)和imnodes(节点),整个技术栈非常硬核。

它支持的平台也不少:

平台
图形API
Windows 10
DirectX 11
macOS
Metal
Linux
OpenGL 3
树莓派4
OpenGL ES

不管你是写数据分析工具、参数调节面板、还是小型游戏编辑器,它都能扛得住。

想看看它到底能干啥?

这框架自带一个完整的demo,跑一下你就全明白了:

python -m dearpygui.demo

相信我,这demo里展示的控件和功能,比你想象的要多得多。而且它的Python代码是开源的,你完全可以把demo里的代码复制出来,改吧改吧就成了自己的应用。

说点掏心窝的话

我现在写一些小工具,只要是涉及到实时数据监控、频繁交互、或者需要好看一点的效果,基本都会优先考虑DearPyGui。它不像Electron那样动不动几百兆,也不像Tkinter那样怎么看怎么像上世纪的产物。

当然,它也不是没有缺点。比如文档还在完善中,有些高级用法需要去翻示例代码或者去Discord群里问。但考虑到它还在快速迭代(MIT协议,随便用),我觉得这些都不是事儿。

项目地址:https://github.com/hoffstadt/DearPyGui

最新文章

随机文章