Dearpygui и всплывающее окно с диалогомPython

Программы на Python
Ответить
Anonymous
 Dearpygui и всплывающее окно с диалогом

Сообщение Anonymous »

Я хочу показывать всплывающее диалоговое окно (например, чтобы предупредить пользователя о дубликате файла) в ответ на любой обратный вызов — в данном случае, после выбора файла (или отмены) в диалоговом окне файла, открытом с помощью кнопки на вкладке. Всплывающее окно должно появиться автоматически. Я использую dpg.window(modal=True, show=False) в качестве модального диалога для всплывающих окон. Это метод, рекомендованный DearPyGui для диалогов, предупреждений и любого пользовательского интерфейса, который необходимо запускать программно из обратных вызовов. однако я не могу заставить всплывающее окно появиться. Я пытался обратиться за помощью к чат-боту LLM, но это была пустая трата времени. ниже приведен минимальный пример проблемы, он соответствует общей структуре моей программы.

Код: Выделить всё

import dearpygui.dearpygui as dpg

def choose_csv_callback():
dpg.configure_item("file_dialog", show=True)
dpg.set_item_user_data("file_dialog", "csv_file")

def file_dialog_callback(sender, app_data, user_data):
dpg.set_value("duplicate_file_popup_text", "Popup ALWAYS appears.")
dpg.configure_item("duplicate_file_popup", show=True)

dpg.create_context()

with dpg.window(tag="Primary Window"):
with dpg.tab_bar():
with dpg.tab(label="Import"):
dpg.add_button(label="Choose CSV", callback=choose_csv_callback)
with dpg.file_dialog(
label="CSV File Dialog", width=600, height=400, show=False,
callback=file_dialog_callback,
tag="file_dialog",
modal=True,
):
dpg.add_file_extension(".csv", color=(0, 255, 0, 255))
dpg.add_file_extension(".*", color=(180, 180, 180, 255))

# Modal popup window, always at root level
with dpg.window(
tag="duplicate_file_popup",
modal=True,
no_title_bar=True,
show=False,
width=400,
height=100,
pos=[200, 150]
):
dpg.add_text("", tag="duplicate_file_popup_text")
dpg.add_button(
label="OK",
callback=lambda: dpg.configure_item("duplicate_file_popup", show=False)
)

dpg.create_viewport(title="Minimal Tab/FileDialog/Popup", width=700, height=400)
dpg.setup_dearpygui()
dpg.show_viewport()
dpg.set_primary_window("Primary Window", True)
dpg.start_dearpygui()
dpg.destroy_context()


Спасибо, что уделили время. и если я что-то не объяснил, просто скажи мне :)

Подробнее здесь: https://stackoverflow.com/questions/798 ... alog-popup
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»