Iconos y fuentes
Pyzed incluye la fuente de iconos de Lucide (~2000 iconos, licencia ISC). Los iconos se dibujan como texto, así que se ven nítidos a cualquier tamaño y aceptan cualquier color:
pz.icon("folder", size=16, color="#74ade8")ui.button("Abrir", self.abrir, icon="folder-open")ui.list_item("Ajustes", self.ajustes, icon="settings")Sin color, pz.icon toma el color del texto que lo rodea. Los iconos dentro de los componentes de pyzed.ui usan
los tokens icon e icon_muted del tema, así que siguen el tema.
Busca nombres en lucide.dev/icons o desde la terminal:
uv run pyzed icons git# git-branch, git-commit-horizontal, git-compare, git-fork, git-merge, git-pull-request, ...pyzed icons git # o: python3 -m pyzed icons gitpyzed icons git # o: py -m pyzed icons gitpyzed.icons.names() devuelve la lista completa y pyzed.icons.glyph("folder") el carácter,
para mezclarlo con texto usando font="icons".
Buscar y elegir iconos
Sección titulada «Buscar y elegir iconos»icons.search busca iconos por nombre y por las etiquetas de Lucide (en inglés), los mejores primero, e
icons.category los agrupa para explorarlos:
from pyzed import icons
icons.search("person") # ["person-standing", "user", "contact", ...]icons.category("arrows") # todas las flechas, chevrons, deshacer...Para que el usuario elija uno, usa ui.IconPicker, o ui.icon_picker_dialog en
una ui.dialog_layer: un buscador, categorías y una cuadrícula con todos los iconos.
Iconos por tipo de archivo
Sección titulada «Iconos por tipo de archivo»from pyzed import icons
icons.for_file("main.rs") # ("file-code", "#dea584")icons.for_file("Cargo.toml") # ("file-cog", "#9c4221")icons.language_for("main.py") # "Python"ui.Tab.for_file y ui.tree ya los usan.
Fuentes
Sección titulada «Fuentes»Fuentes incluidas:
| Nombre | Fuente |
|---|---|
"sans" (por defecto) |
IBM Plex Sans |
"mono" |
IBM Plex Mono |
"icons" |
Lucide |
"serif" usa la fuente serif del sistema. Elige una fuente para un texto, para un bloque (todo texto dentro la hereda)
o para toda la ventana:
pz.text("fn main() {}").style(font="mono") # un textopz.column([...]).style(font="serif", size=15) # todo texto dentroclass MiApp(pz.App): style = pz.Style(font="mono") # toda la ventanaTus propias fuentes
Sección titulada «Tus propias fuentes»Carga un archivo .ttf u .otf antes de ejecutar la app y refiérete a él por su nombre de familia (el nombre que
declara la fuente, no el del archivo):
pz.load_font("fonts/JetBrainsMono-Regular.ttf")
pz.text("fn main() {}", font="JetBrains Mono")pz.code_editor("buf", texto, font="JetBrains Mono")load_font también acepta los bytes del archivo. Carga cada peso que uses (Regular, Bold…) como su propio
archivo.