Markdown
Muestra Markdown (títulos, listas, bloques de código, citas, tablas, enlaces) con los colores de texto, enlace y código del tema. on_link(url) recibe los enlaces pulsados. pz.markdown es el widget base con colores explícitos.
ui.markdown · Categoría: Código y herramientas · Referencia completa →


ui.markdown('''## Release notes
Pyzed **0.4** adds the *component designer*, `pyzed build` and [styles](https://iced.rs).
- Track grids and flex- Ready-made dialogs''', width=460, on_link=on_link)Cuándo usarlo
Sección titulada «Cuándo usarlo»- Para READMEs, notas de versión, páginas de ayuda y mensajes de chat.
from pyzed import ui
ui.markdown('''## Release notes
Pyzed **0.4** adds the *component designer*, `pyzed build` and [styles](https://iced.rs).
- Track grids and flex- Ready-made dialogs''', width=460, on_link=on_link)Variantes
Sección titulada «Variantes»Elementos
Sección titulada «Elementos»

Código
ui.markdown("## Title\nSome **bold** and *italic* text.", width=320)

Código
ui.markdown("- Fast\n- Native\n- Pythonic\n\n1. Install\n2. Run", width=320)

Código
ui.markdown("Run `pyzed new`:\n\n```python\nimport pyzed as pz\n```", width=320)

Código
ui.markdown("> Desktop UIs in Python.\n\nSee [the docs](https://albakore.github.io/pyzed/).", width=320, on_link=on_link)

Código
ui.markdown("| Key | Action |\n| --- | --- |\n| ctrl-s | Save |\n| ctrl-p | Open |", width=320)Eventos
Sección titulada «Eventos»Markdown 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 | De | El handler recibe | Cuándo |
|---|---|---|---|
on_link |
ui.markdown, pz.markdown |
(url) |
Callable que recibe la URL al pulsar un enlace. |
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.
import webbrowser
class Notes(pz.App): def __init__(self): self.last = None
def follow(self, url): # on_link: the URL of the clicked link self.last = url webbrowser.open(url)
def view(self): return ui.markdown("Read the [docs](https://albakore.github.io/pyzed/) or the " "[changelog](https://github.com/albakore/pyzed).", on_link=self.follow)from dataclasses import dataclass
@dataclassclass Link: url: str
class Notes(pz.App): def update(self, message): match message: case Link(url) if url.startswith("app:"): print("internal page", url[4:]) # links can drive the app, too case Link(url): print("open", url)
def view(self): return ui.markdown("Go to [settings](app:settings) or the [docs](https://albakore.github.io/pyzed/).", on_link=Link)from dataclasses import dataclass
@dataclass(frozen=True)class State: page: str = "home"
PAGES = {"home": "Welcome. See [about](about).", "about": "Made with Pyzed. Back [home](home)."}
def view(state, set_state): text = PAGES.get(state.page, "Not found. Back [home](home).") return ui.markdown(text, on_link=lambda url: set_state(page=url))Propiedades y API
Sección titulada «Propiedades y API»ui.markdown
Sección titulada «ui.markdown»markdown(source, *, size=None, on_link=None, width=None, selectable=None, theme=None)pz.markdown con los colores de texto, enlaces y código del tema.
| Propiedad | Por defecto | Descripción |
|---|---|---|
source |
obligatorio | El texto Markdown. |
size |
None |
Tamaño. |
width |
None |
Ancho: píxeles, "fill", "shrink" o "fill:N" (proporción). |
selectable |
None |
Igual que en pz.markdown; la selección usa el color selection del tema. |
theme |
None |
Tema a usar en lugar del actual (pyzed.theme.current()). |
Eventos: on_link (eventos).
pz.markdown
Sección titulada «pz.markdown»markdown( source, *, size=14.0, color=None, link_color=None, code_color=None, code_bg=None, on_link=None, width=None, selectable=None, selection_color=None,)Renderiza Markdown (títulos, listas, bloques de código, citas, tablas, enlaces…). Para los colores del tema usa ui.markdown.
| Propiedad | Por defecto | Descripción |
|---|---|---|
source |
obligatorio | El texto Markdown. |
size |
14.0 |
Tamaño. |
color |
None |
Color del texto o del icono. |
link_color |
None |
Color de los enlaces. |
code_color |
None |
Color del código. |
code_bg |
None |
Fondo del código. |
width |
None |
Ancho: píxeles, "fill", "shrink" o "fill:N" (proporción). |
selectable |
None |
True deja seleccionar el texto con el ratón (arrastrar, doble clic en una palabra, triple clic en un bloque) y copiarlo con Ctrl+C. Una cadena nombra un grupo de selección: los textos y el Markdown de un mismo grupo forman una sola selección, en el orden en que se dibujan (las líneas de un log, los mensajes de un chat). |
selection_color |
None |
Color detrás del texto seleccionado. |
Eventos: on_link (eventos).