Appelez Button.new() directement et la marge intérieure, la hauteur et le retour à la ligne
dérivent légèrement d'un écran à l'autre. Cette dérive est invisible en revue de code et évidente sur une
capture d'écran.
| Groupe | Fonctions |
|---|---|
| Structure | column row wrap_row padding spacer divider responsive_grid aspect foldable |
| Texte | label label_key line section typography |
| Boutons | button button_key icon_button list_button list_row apply_icon style_choice_card style_chip_button style_chip_label |
| Saisie | line_edit textarea toggle checkbox slider picker select dropdown radio_group segmented choice_grid |
| Affichage | card chip hud_panel chip_panel avatar skeleton alert table tabs breadcrumb progress empty_state |
| Pièces de surface | surface box floating disc face_padding |
| Utilitaires | form fit_words natural_width tooltip_node card_body let_input_through |
box() renvoie toujours un StyleBoxFlat, parce que les appelants le reçoivent et
ajustent bg_color ou corner_radius. Utilisez surface() lorsqu'une forme
personnalisée doit survivre.
Rangées de liste avec une description
GoStyle.list_button(GoIconSet.SWORD, "Garde-Serment", _inspect, Color.TRANSPARENT,
"Épée longue / Attaque 42", false)
Une rangée à deux lignes reçoit des marges haute et basse égales, plus généreuses que celles d'une rangée simple, et le couple titre/description reste centré verticalement à côté de l'icône — y compris quand un conteneur étire la rangée en hauteur, et après que la description est passée sur plusieurs lignes. La rangée entière reste une seule cible tactile.
medieval_light.Rangées qui s'écoulent
Placez les commandes dans wrap_row à leur largeur naturelle. Si le retour à la ligne reste
actif, la largeur minimale d'un bouton tombe à presque rien et la rangée dimensionne sa cellule d'après elle —
le libellé s'effondre à un caractère par ligne. La fabrique vous l'évite.
Ne laissez jamais une liste vide rester vide
page.add_child(GoStyle.empty_state(GoIconSet.BOX, "Rien ici pour l'instant"))
Les gens lisent un écran vide comme une panne.
Points d'extension par dérivation
Chaque endroit où un widget enfant est construit passe par une méthode redéfinissable : un projet qui dérive les types de gohud peut donc obtenir ses propres sous-classes à l'intérieur des widgets sans recopier de code.
| Point d'extension | Widget | Par défaut |
|---|---|---|
_make_scroll() | GoCoachMark, GoSurface | GoScroll.new() |
_make_close_button() | GoPromptCard, GoSurface | GoIconButton.new() |
_make_surface() | GoSheet, GoDialogs | GoSurface.new() |
_should_pause() | GoCoachMark | Masque la carte tant qu'une fenêtre modale est ouverte |