MGSmartFlow: Como usar esse componente no Golang com Fyne

Publicado em: 14/12/2025

MGSmartFlow é um layout flexível para Fyne que distribui widgets em linhas, calculando tamanhos e espaçamentos automaticamente.

Instalação

go get github.com/mugomes/mgsmartflow

Requerimento

  • Go 1.24.6
  • Fyne 2.7.1

Tutorial de Uso do MGSmartFlow

O MGSmartFlow foi desenvolvido para respeitar o tamanho da largura e altura da janela, portanto, caso o texto for muito longo, o mesmo será cortado e não exibirá a outra parte até que você aumente a janela ou use wrap para quebrar o texto.

flow := mgsmartflow.New()

/* Define o gap padrão para todas as linhas e colunas */
flow.SetGlobalGap(10, 8)

/* Label */
lbl1 := widget.NewLabel("Exemplo de Linha")
flow.AddRow(lbl1)
	
/* Botões em Colunas */
a := widget.NewButton("A", nil)
b := widget.NewButton("B", nil)
flow.AddColumn(a, b)

/* Redimensiona as colunas */
flow.SetResize(a, fyne.NewSize(120, 40))
flow.SetResize(b, fyne.NewSize(120, 40))

/* Ajusta o gap do button B */
flow.SetGap(b, fyne.NewPos(30, 0))

window.SetContent(flow.Container)

O SetResize e SetGap podem ser utilizados para ajustar linhas e colunas, o Gap afeta sempre o que vem na frente e não antes.

  • Caso o SetResize não seja definido, será aplicado o espaço total da largura da janela ou da coluna.
  • Caso o SetGap não seja definido, será aplicado automaticamente um espaço por padrão.

Gostou desse componente? Apoie esse projeto clique aqui

Siga-me

Pesquisar