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