gohud

GoStyle — un solo lugar donde se crean las cosas

← Widgets

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.

GrupoFunciones
Estructuracolumn row wrap_row padding spacer divider responsive_grid aspect foldable
Textolabel label_key line section typography
Botonesbutton button_key icon_button list_button list_row apply_icon style_choice_card style_chip_button style_chip_label
Entradaline_edit textarea toggle checkbox slider picker select dropdown radio_group segmented choice_grid
Presentacióncard chip hud_panel chip_panel avatar skeleton alert table tabs breadcrumb progress empty_state
Piezas de superficiesurface box floating disc face_padding
Utilidadesform 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.

Ejemplo medieval_light — filas de lista de dos líneas, ranuras rápidas y barras
Filas de dos líneas, ranuras y barras en el ejemplo medieval — las mismas llamadas a la fábrica bajo 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.

HookWidgetPredeterminado
_make_scroll()GoCoachMark, GoSurfaceGoScroll.new()
_make_close_button()GoPromptCard, GoSurfaceGoIconButton.new()
_make_surface()GoSheet, GoDialogsGoSurface.new()
_should_pause()GoCoachMarkOculta la tarjeta mientras hay un modal abierto