使用DearPyGui构建GUI

2020-08-18 04:23:24

作为Python程序员,我们编写脚本。很多时候,它们又快又脏;从来不打算在完成任务后被别人甚至是你自己看到。然而,在某些情况下,脚本意味着继续存在,可能会定期修改和共享。正是在这种情况下,我们经常希望为脚本创建GUI。Python有几个选项,包括Tkinter、PyQt/PySide、wxPython、Kivy、PySimpleGui等等。这些都是很棒的库,它们各自服务于各自的目的,但在很多情况下,它们可能会被夸大,需要的代码和思想与它要包装的脚本一样多。这就是DearPygui大放异彩的地方。因此,要开始,您需要获得DearPygui…。

DearPygui很简单,掌握它应该不需要时间。但是,仅仅因为它很简单并不意味着它不强大,不能创建完全成熟的GUI。

DearPyGui有很多控件,包括绘图、表格、画布等。您可以看到以下几个:

大多数小部件都能够在它们的值更改时设置回调,类似于上面的hello world示例。您还可以使用GET_VALUE检索小部件关联值:

DearPyGui中的布局系统非常简单。添加小部件会按照添加它们的顺序垂直放置它们。但是,您可以使用ADD_SAME_LINE将小部件放在同一行上。您可以使用的另一个用于布局GUI的工具是组。您可以使用ADD_GROUP将小部件分组在一起,并为更复杂的布局创建层次结构。

主题和风格是DearPyGui的另一个亮点。目前有10个内置主题,还有更多主题正在开发中!还有一个用于创建您自己的主题的API(此系统将在不久的将来进行改造,因此这里不再介绍)。

DearPyGui实际上可以与其他GUI框架结合使用。例如,使用tkinter:

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_lider_float(";Slider";)add_button(";get value&。)setup_dearpygui()而True:Render_dearpygui_frame()root.update()Cleanup_dearpygui()。

这只需要将start_dearpygui替换为setup_dearpygui、ender_dearpygui_frame和leanup_dearpygui,就可以公开事件循环。

我试着做一个简单的概述,但还有更多的DearPyGui不适合这里,包括多线程、自定义小部件、调试、动态数据绑定、运行时修改,等等不胜枚举。我可能会决定在另一篇文章中报道这一点。

在我使用DearPyGui的经验中,不仅从核心开发人员的角度,而且从我日常工作的日常用户的角度来看,它都非常强大。它就是足够简单和开放,允许用户按照自己的方式做事,并围绕它建立自己的系统。