Llama a Button.new() directamente y el relleno, la altura y el ajuste de línea se desvían ligeramente de una
pantalla a otra. Esa desviación es invisible en una revisión de código y evidente en una captura.
| Grupo | Funciones |
|---|---|
| Estructura | column row wrap_row padding spacer divider responsive_grid aspect foldable |
| Texto | label label_key line section typography |
| Botones | button button_key icon_button list_button list_row apply_icon style_choice_card style_chip_button style_chip_label |
| Entrada | line_edit textarea toggle checkbox slider picker select dropdown radio_group segmented choice_grid |
| Presentación | card chip hud_panel chip_panel avatar skeleton alert table tabs breadcrumb progress empty_state |
| Piezas de superficie | surface box floating disc face_padding |
| Utilidades | form fit_words natural_width tooltip_node card_body let_input_through |
box() siempre devuelve un StyleBoxFlat, porque quien lo llama lo recibe y
ajusta bg_color o corner_radius. Usa surface() cuando una forma
personalizada deba sobrevivir.
Filas de lista con descripción
GoStyle.list_button(GoIconSet.SWORD, "Guardajuramentos", _inspect, Color.TRANSPARENT,
"Espada larga / Ataque 42", false)
Una fila con segunda línea recibe el mismo relleno arriba y abajo, más holgado que una fila de una sola línea, y el par título/descripción se mantiene centrado en vertical junto al icono — también cuando un contenedor estira la fila a más altura, y después de que la descripción se reparta en varias líneas. Toda la fila sigue siendo un único objetivo táctil.
medieval_light.Filas que fluyen
Mete los controles en wrap_row con su ancho natural. Con el ajuste de línea activado, el ancho mínimo de un
botón baja hasta casi nada y la fila dimensiona su celda con ese valor — la etiqueta se reduce a un carácter por línea.
La fábrica lo evita por ti.
Nunca dejes vacía una lista vacía
page.add_child(GoStyle.empty_state(GoIconSet.BOX, "Aquí todavía no hay nada"))
La gente lee una pantalla en blanco como algo roto.
Hooks de subclase
Cada punto en el que se construye un widget hijo pasa por un método sobrescribible, de modo que un proyecto que cree subclases de los tipos de gohud puede meter sus propias subclases dentro de los widgets sin copiar código.
| Hook | Widget | Predeterminado |
|---|---|---|
_make_scroll() | GoCoachMark, GoSurface | GoScroll.new() |
_make_close_button() | GoPromptCard, GoSurface | GoIconButton.new() |
_make_surface() | GoSheet, GoDialogs | GoSurface.new() |
_should_pause() | GoCoachMark | Oculta la tarjeta mientras hay un modal abierto |