Ir al contenido

Confirmación

Hace una pregunta de sí o no. danger=True pinta de rojo el botón de confirmar; confirm_label y cancel_label cambian el texto de los botones.

ui.confirm · Categoría: Diálogos · Referencia completa →

ConfirmaciónConfirmación
  • Antes de acciones destructivas o irreversibles: borrar, sobrescribir, descartar.
from pyzed import ui
ui.dialog_layer(main_view(), ui.confirm(
"Delete notes.py? This can't be undone.", on_delete, on_cancel,
title="Delete file", danger=True, confirm_label="Delete", width=360,
))
Confirmación: NormalConfirmación: Normal
Normal
Código
ui.confirm("Close all tabs?", on_confirm, on_cancel, title="Close tabs", width=320)
Confirmación: danger=TrueConfirmación: danger=True
danger=True
Código
ui.confirm("Delete notes.py?", on_delete, on_cancel, title="Delete file", danger=True,
confirm_label="Delete", width=320)
Confirmación: kind="warning"Confirmación: kind="warning"
kind="warning"
Código
ui.confirm("Overwrite the existing file?", on_confirm, on_cancel, kind="warning", width=320)
Confirmación: confirm_label=, cancel_label=Confirmación: confirm_label=, cancel_label=
confirm_label=, cancel_label=
Código
ui.confirm("Push 3 commits to main?", on_push, on_cancel, confirm_label="Push",
cancel_label="Not now", width=320)

Confirmación tiene 2 eventos 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_confirm () El botón de confirmar.
on_cancel () Cancelar, el icono de cerrar.

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().

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.files = ["notes.py", "todo.txt"]
self.deleting = "notes.py" # the file waiting for an answer
def delete(self): # on_confirm
self.files.remove(self.deleting)
self.deleting = None
def view(self):
dialog = None
if self.deleting:
dialog = ui.confirm(f"Delete {self.deleting}?", self.delete,
lambda: setattr(self, "deleting", None), # on_cancel
title="Delete file", danger=True, confirm_label="Delete")
return ui.dialog_layer(main_view(), dialog)
confirm(
message,
on_confirm,
on_cancel,
*,
title=None,
confirm_label=None,
cancel_label=None,
danger=False,
kind=None,
width=420,
theme=None,
)

Hace una pregunta de sí o no.

Propiedad Por defecto Descripción
message obligatorio Texto o widget.
title None Título.
confirm_label None Texto del botón de confirmar.
cancel_label None Texto del botón de cancelar.
danger False Pinta el botón de rojo y lo llama Eliminar.
kind None Añade un icono, como en alert.
width 420 Ancho: píxeles, "fill", "shrink" o "fill:N" (proporción).
theme None Tema a usar en lugar del actual (pyzed.theme.current()).

Eventos: on_confirm, on_cancel (eventos).

Referencia completa →