Capa de diálogo
Muestra un diálogo centrado encima de base con el fondo oscurecido; al pulsar el fondo se llama a on_dismiss. Con dialog=None devuelve base sin cambios, así que guarda en tu estado qué diálogo está abierto y envuelve siempre la vista con ella.
ui.dialog_layer · Categoría: Diálogos · Referencia completa →


ui.dialog_layer( main_view(), ui.confirm("Delete notes.py? This can't be undone.", on_delete, on_cancel, title="Delete file", danger=True, width=340), on_dismiss=on_cancel,)Cuándo usarlo
Sección titulada «Cuándo usarlo»- Alrededor de toda tu vista, para mostrar cualquiera de estos diálogos o un
ui.modal.
import pyzed as pzfrom pyzed import ui
class Files(pz.App): def __init__(self): self.asking = False
def close(self): self.asking = False
def view(self): dialog = None if self.asking: dialog = ui.confirm("Delete main.py?", self.delete, self.close, title="Delete file", danger=True) return ui.dialog_layer(self.main_view(), dialog, on_dismiss=self.close)Variantes
Sección titulada «Variantes»Diálogo
Sección titulada «Diálogo»

ui.alertCódigo
ui.dialog_layer(main_view(), ui.alert("Export finished.", on_close, kind="success", width=280))

ui.modalCódigo
ui.dialog_layer(main_view(), ui.modal(ui.muted("Any content."), title="Modal", on_close=on_close, width=280), on_dismiss=on_close)

dialog=NoneCódigo
ui.dialog_layer(main_view(), None)Eventos
Sección titulada «Eventos»Capa de diálogo tiene 1 evento propios, en la tabla de abajo. Como todo widget, también tiene los 18 eventos comunes (click, double_click, right_click, mouse_enter, drag, key_down, resize…), que se conectan con .on(...): mira Eventos y Eventos de cada componente.
| Evento | El handler recibe | Cuándo |
|---|---|---|
on_dismiss |
() |
Se envía al hacer clic en el fondo. |
El handler recibe es lo que Pyzed le pasa a tu función: () es nada. Cualquier handler también puede ser un mensaje (un valor que no se puede llamar), que va a update().
Manejar los eventos
Sección titulada «Manejar los eventos»Los mismos eventos escritos de tres formas. Imperativa: métodos de la app que cambian self. Declarativa: los handlers producen mensajes y un único update() decide. Funcional: una función pura dibuja un estado inmutable y pide cambios con set_state(...). Mira Imperativo, declarativo y funcional.
class Files(pz.App): def __init__(self): self.asking = True
def close(self): self.asking = False
def view(self): dialog = ui.confirm("Delete main.py?", self.close, self.close, danger=True) if self.asking else None return ui.dialog_layer(main_view(), dialog, on_dismiss=self.close) # click on the backdropclass Files(pz.App): asking = True
def update(self, message): if message in ("delete", "cancel"): self.asking = False
def view(self): dialog = ui.confirm("Delete main.py?", "delete", "cancel", danger=True) if self.asking else None return ui.dialog_layer(main_view(), dialog, on_dismiss="cancel")from dataclasses import dataclass
@dataclass(frozen=True)class State: asking: bool = True
def view(state, set_state): close = lambda: set_state(asking=False) dialog = ui.confirm("Delete main.py?", close, close, danger=True) if state.asking else None return ui.dialog_layer(main_view(), dialog, on_dismiss=close)Consejos
Sección titulada «Consejos»Propiedades y API
Sección titulada «Propiedades y API»ui.dialog_layer
Sección titulada «ui.dialog_layer»dialog_layer(base, dialog=None, *, on_dismiss=None, theme=None)Muestra un diálogo centrado sobre base con un fondo oscurecido. Con dialog=None devuelve base sin cambios, así que puede envolver siempre la vista. Ver Diálogos.
| Propiedad | Por defecto | Descripción |
|---|---|---|
base |
obligatorio | La interfaz de debajo. |
dialog |
None |
Un diálogo de las funciones de abajo, o ui.modal. |
theme |
None |
Tema a usar en lugar del actual (pyzed.theme.current()). |
Eventos: on_dismiss (eventos).