DearPyGui 教程(二)


(注:由于DearPyGui正处于快速迭代期,功能日兴月易,本文所描述的内容很有可能已经过时,如需了解最新信息,请至源文链接:https://hoffstadt.github.io/DearPyGui/tutorial.html)

本教程旨在演示如何使用DearPyGui的一部分特性,并未覆盖DearPyGui的全部功能,更多复杂功能的示例可以在GitHub上的示例文件夹中看到. 有关特定API的信息建议参考 API Reference.

运行时添加和删除widget小部件

使用DearPyGui,您可以在运行时动态地添加和删除任何widget小部件。 这可以通过使用回调方法调用所需的小部件“add”命令并指定小部件所属的父部件来完成。 默认情况下,如果没有指定父窗口,小部件将被添加到"MainWindow"主窗口。

在本例中,我们使用"debug"开发人员工具查看小部件的当前状态。 转到调试小部件上的"App Item Layout"选项卡,此选项卡显示应用程序的状态和属性。 单击“mainwindow”树我们可以看到小部件当前显示在主窗口上。 尝试单击主窗口上的"Add/Delete"按钮,并查看树状态的更改。

from dearpygui.core import *

def addButtons(sender, data):
    add_button("New Button")
    add_button("New Button 2", parent="Secondary Window")

def deleteButtons(sender, data):
    delete_item("New Button")
    delete_item("New Button 2")


show_debug()
add_button("Add Buttons", callback=addButtons)
add_button("Delete Buttons", callback=deleteButtons)
add_window("Secondary Window")
end()

start_dearpygui()

当删除窗口或容器小部件时,默认情况下将删除其包括部件本身的所有小部件。 若只想删除窗口或容器小部件内的子部件(而不删除窗口或容器小部件本身),可设关键字“children_only”为True。

from dearpygui.core import *


def addWidgets(sender, data):
    add_window("Secondary Window")
    end()
    add_button("New Button")
    add_button("New Button 2", parent="Secondary Window")


def deleteWidgets(sender, data):
    delete_item("Secondary Window")
    delete_item("New Button")


show_debug()
add_button("Add Widgets", callback=addWidgets)
add_button("Delete Widgets", callback=deleteWidgets)

start_dearpygui()

内建的Logger日志

Logger是DearPyGui在开发人员工具中内建的强大工具之一,可以通过show_logger()命令访问。 Logger有6个日志级别:
1. Trace
2. Debug
3. Info
4. Warning
5. Error
6. Off
日志命令可以通过设置日志级别来过滤。 logger会筛选出等于和低于该级别的任何日志内容。
“0” 级别将显示所有日志。如下示例:

from dearpygui.core import *


show_logger()
set_log_level(0)
log("trace message")
log_debug("debug message")
log_info("info message")
log_warning("warning message")
log_error("error message")

start_dearpygui()

Widget的数据存储和跨Widget通信

如果想用一个widget小部件直接控制另一个widget小部件的值,或者2个小部件需要控制同一个值。 可以通过 add_data()get_data() 实现。
当使用数据源时,小部件的值和数据源的更改将相互绑定。 这对于链接到任何小部件以使用相同的数据是有用的。 例子如下所示。

from dearpygui.core import *


def print_me(sender, data):
    print(get_value("Radio Button1"))
    print(get_value("Radio Button2"))
    print(get_data("data1"))

add_checkbox("Radio Button1", source="data1")
add_checkbox("Radio Button2", source="data1")
add_data("data1", True)
add_button("button", callback=print_me)

start_dearpygui()

数据项的另一个用途是存储要访问的数据,即使在回调中也是如此,如下所示。

from dearpygui.core import *

def store_data(sender, data):
    add_data("storedData", get_value("Radio Button"))


def print_data(sender, data):
    print(get_data("storedData"))

add_checkbox("Radio Button")
add_button("Get Value and Store", callback=store_data)
add_button("Get Data and Print", callback=print_data)


start_dearpygui()

菜单栏

GUI功能的一个非常重要的小部件就是菜单栏。 菜单栏总是显示在窗口的顶部,有三个主要部分:
1. 菜单栏 - 主菜单栏
2. 菜单 - 下拉菜单“子菜单”
3. 菜单项 - 可以运行回调的项(基本上是可选的)
4. 任何小部件 - Plot,绘图等

菜单栏和菜单都是容器小部件,它们的容器必须用相应的“end”来结束。 菜单项以从右到左(应该是从左到右),从上到下的顺序添加到菜单栏中。
菜单可以无限级联。
任何widget小部件都可以加到菜单中。

from dearpygui.core import *

def print_me(sender, data):
    print("Menu Item: " + sender)

add_menu_bar("Main Menu Bar")
add_menu("File")
add_menu_item("Save", callback=print_me)
add_menu_item("Save As", callback=print_me)
add_menu("Settings")
add_menu_item("Setting 1", callback=print_me)
add_menu_item("Setting 2", callback=print_me)
end()
end()
add_menu_item("Help", callback=print_me)
add_menu("Widget Items")
add_checkbox("Pick Me", callback=print_me)
add_button("Press Me", callback=print_me)
add_color_picker4("Color Me", callback=print_me)
end()
end()

start_dearpygui()

效果如下:
菜单栏效果1
菜单栏效果2

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要知道 Dear PyGui 的版本,可以使用以下代码: ```python import dearpygui print(dearpygui.__version__) ``` 这将打印出当前 Dear PyGui 的版本号。 ### 回答2: 要知道`Dear PyGui`的版本,可以使用以下方法: 1. 查看`Dear PyGui`的文档或官方网站:通常,`Dear PyGui`的官方文档会提供关于当前版本的信息。您可以查找其文档或访问官方网站,以了解最新的版本信息。 2. 使用`pip`命令:如果您已经在您的开发环境中安装了`Dear PyGui`,您可以在终端或命令提示符中运行以下命令来获取版本信息: ``` pip show dearpygui ``` 该命令会显示关于您安装的`Dear PyGui`版本的详细信息,包括版本号。 3. 在Python代码中获取版本信息:在您的Python代码中,您可以使用`dearpygui.core`模块的`get_version()`函数来获取当前`Dear PyGui`的版本号。例如: ```python import dearpygui.core as dpg version = dpg.get_version() print(f"Dear PyGui 版本号:{version}") ``` 通过这种方式,您可以在运行时动态地获取`Dear PyGui`的版本信息并将其打印出来。 无论您选择哪种方法,都能帮助您找到并了解当前所使用的`Dear PyGui`版本的价值。 ### 回答3: 要知道dearpygui的版本,可以通过以下几种方法进行查询: 1. 通过代码:打开你的Python集成开发环境(如PyCharm等),进入你的项目文件夹。在项目中的任意一个Python文件中,导入dearpygui库,并使用`__version__`属性来获取版本号。示例代码如下: ```python import dearpygui version = dearpygui.__version__ print(f"dearpygui版本号为:{version}") ``` 2. 通过命令行:打开终端或命令提示符,进入到你的Python项目文件夹中。执行命令`pip show dearpygui`来获取dearpygui库的详细信息。其中包括版本号。示例命令如下: ``` pip show dearpygui ``` 命令执行后,会显示关于dearpygui库的详细信息,其中一部分是版本号。 3. 通过官方文档:进入dearpygui的官方网站(https://dearpygui.org/),在网站的首页或者项目的相关页面上,通常会明确声明所提供的版本号。可以在这些地方查找你所使用的dearpygui版本号。 上述方法中,前两种方式可以通过实际代码和命令行来直接获取版本号,而第三种方式则需要用户主动前往官方网站来查找版本号说明。以上方法中任选一种便可以获取到dearpygui的版本号。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值