弹出窗口¶
弹出窗口是指在弹出窗口边框外单击时消失的窗口。
它们通常用作右键单击项目时的上下文菜单或对话框。
在DPG中,弹出窗口只是 弹出窗口 设置为 True , show 设置为 错误 ,和一个 clicked_handler 附加到在单击时显示窗口的小工具。
通常使用时,会显示一个弹出窗口,直到您离开它。默认情况下,右击可激活弹出窗口。
Code
import dearpygui.dearpygui as dpg
dpg.create_context()
with dpg.window(label="Tutorial"):
dpg.add_text("Right Click Me")
with dpg.popup(dpg.last_item()):
dpg.add_text("A popup")
dpg.create_viewport(title='Custom Title', width=800, height=600)
dpg.setup_dearpygui()
dpg.show_viewport()
dpg.start_dearpygui()
dpg.destroy_context()
Results
情态用法¶
当MODEL关键字设置为 True ,弹出窗口将是模式的。
这可以防止用户在关闭弹出窗口之前与其他窗口交互。您必须隐藏或删除弹出窗口才能将其删除。
Code
import dearpygui.dearpygui as dpg
dpg.create_context()
with dpg.window(label="Tutorial"):
dpg.add_text("Left Click Me")
# check out simple module for details
with dpg.popup(dpg.last_item(), mousebutton=dpg.mvMouseButton_Left, modal=True, tag="modal_id"):
dpg.add_button(label="Close", callback=lambda: dpg.configure_item("modal_id", show=False))
dpg.create_viewport(title='Custom Title', width=800, height=600)
dpg.setup_dearpygui()
dpg.show_viewport()
dpg.start_dearpygui()
dpg.destroy_context()
Results
- 鼠标按钮选项包括:
_mvMouseButton_Right_
_mvMouseButton_Left_
_mvMouseButton_Middle_
_mvMouseButton_X1_
_mvMouseButton_X2_
窗口作为对话框弹出菜单¶
这是一个将窗口做成典型对话框的示例。
import dearpygui.dearpygui as dpg
dpg.create_context()
with dpg.window(label="Delete Files", modal=True, show=False, tag="modal_id", no_title_bar=True):
dpg.add_text("All those beautiful files will be deleted.\nThis operation cannot be undone!")
dpg.add_separator()
dpg.add_checkbox(label="Don't ask me next time")
with dpg.group(horizontal=True):
dpg.add_button(label="OK", width=75, callback=lambda: dpg.configure_item("modal_id", show=False))
dpg.add_button(label="Cancel", width=75, callback=lambda: dpg.configure_item("modal_id", show=False))
with dpg.window(label="Tutorial"):
dpg.add_button(label="Open Dialog", callback=lambda: dpg.configure_item("modal_id", show=True))
dpg.create_viewport(title='Custom Title', width=800, height=600)
dpg.setup_dearpygui()
dpg.show_viewport()
dpg.start_dearpygui()
dpg.destroy_context()