# Barra de herramientas

> La barra bajo las pestañas: migas de pan y acciones. Un componente nativo de Pyzed para GUIs de escritorio en Python, con vista previa, ejemplos y su API.

Source: https://albakore.github.io/pyzed/es/library/toolbar/

:::tip[En pocas palabras]
Una barra fina con las acciones de lo que estás viendo.
:::

La barra bajo las pestañas de un editor de código: widgets al principio (`start`, normalmente migas de pan) y al final (`end`, acciones del buffer).

`ui.toolbar` · Categoría: [Navegación](https://albakore.github.io/pyzed/es/library/#navegación) · [Referencia completa →](https://albakore.github.io/pyzed/es/reference/ui/#toolbar)

**Código:**

```python
ui.toolbar(
    [ui.breadcrumbs([("file-code", "src"), "main.rs", "fn main"])],
    [ui.icon_button("search", on_search, size="sm"), ui.icon_button("sparkles", on_assist, size="sm")],
)
```

## Cuándo usarlo

- Entre la barra de pestañas y el editor, o arriba de cualquier vista de contenido.

## Uso

```python
from pyzed import ui

ui.toolbar(
    [ui.breadcrumbs([("file-code", "src"), "main.rs", "fn main"])],
    [ui.icon_button("search", on_search, size="sm"), ui.icon_button("sparkles", on_assist, size="sm")],
)
```

## Variantes

:::note[Sobre estas capturas]
Cada captura la graba pyzed mismo, fuera de pantalla a 2x, en One Dark o One Light según el tema de este sitio, y recortada al componente para que se vea a su tamaño real. El puntero pasa por encima, pulsa o escribe en él; un componente que no reacciona al puntero recorre algunos temas. Con movimiento reducido ves el primer fotograma. Abre **Código** bajo una captura para ver el fragmento que la dibuja; los nombres libres como `on_save` son tus propios callbacks.
:::

### Contenido

```python
pz.container(ui.toolbar([ui.breadcrumbs(["src", "main.rs"])]), width=400)
```

```python
pz.container(ui.toolbar([], [ui.icon_button("search", on_search, size="sm"),
                            ui.icon_button("sparkles", on_assist, size="sm")]), width=400)
```

```python
pz.container(ui.toolbar([ui.label("Preview")], [ui.button("Publish", on_publish, size="sm", variant="solid")],
                        height=40), width=400)
```

### Estados y eventos

```python
pz.container(ui.toolbar([ui.breadcrumbs(["src", "app.py"])], [ui.icon_button("play", on_press)],
                        center=ui.muted("Running…", size="sm")), width=440)
```

## Eventos

Barra de herramientas no tiene eventos propios: muestra lo que le das. 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](https://albakore.github.io/pyzed/es/guides/events/) y [Eventos de cada componente](https://albakore.github.io/pyzed/es/library/events/).

## Propiedades y API

### `ui.toolbar`

```python
toolbar(start=(), end=(), *, center=None, height=32, theme=None)
```

La barra bajo las pestañas: breadcrumbs a la izquierda y acciones del buffer a la derecha.

| Propiedad | Por defecto | Descripción |
| --- | --- | --- |
| `start` | `()` | Widgets al inicio (izquierda). |
| `end` | `()` | Widgets al final (derecha). |
| `center` | `None` | Se mantiene en el centro de la barra sean cuales sean los anchos de los lados. |
| `height` | `32` | Alto. |
| `theme` | `None` | Tema a usar en lugar del actual (`pyzed.theme.current()`). |

[Referencia completa →](https://albakore.github.io/pyzed/es/reference/ui/#toolbar)

## Relacionados

- [Barra de pestañas](https://albakore.github.io/pyzed/es/library/tab-bar/): Pestañas de editor con iconos, puntos de cambios y botón de cerrar.
- [Migas de pan](https://albakore.github.io/pyzed/es/library/breadcrumbs/): `src › main.rs › fn main`, pulsables si quieres.
- [Botón de icono](https://albakore.github.io/pyzed/es/library/icon-button/): Un botón cuadrado con solo un icono y un tooltip opcional.
