Entry
This is a text input field using Fyne’s NewEntry widget, allowing users to type and edit text.
Simple Entry
Section titled “Simple Entry”Show Code
package main
import ( "fmt"
"fyne.io/fyne/v2" "fyne.io/fyne/v2/app" "fyne.io/fyne/v2/container" "fyne.io/fyne/v2/widget")
func main() { myApp := app.New() myWindow := myApp.NewWindow("Entry")
// Label to display entered text label := widget.NewLabel("Nothing typed yet")
// Create a text entry entry := widget.NewEntry() entry.SetPlaceHolder("Type something...")
// Handle text changes entry.OnChanged = func(content string) { label.SetText(fmt.Sprintf("You typed: %s", content)) }
// Handle text submit (Enter key) entry.OnSubmitted = func(content string) { label.SetText(fmt.Sprintf("You submitted: %s", content)) }
// Layout content := container.NewVBox( label, entry, )
myWindow.SetContent(content) myWindow.Resize(fyne.NewSize(300, 200)) myWindow.ShowAndRun()}Multiple Line Entry
Section titled “Multiple Line Entry”Show Code
package main
import ( "fmt"
"fyne.io/fyne/v2" "fyne.io/fyne/v2/app" "fyne.io/fyne/v2/container" "fyne.io/fyne/v2/widget")
func main() { myApp := app.New() myWindow := myApp.NewWindow("Entry Example")
// Label to display entered text label := widget.NewLabel("Nothing typed yet")
// Create a text entry entry := widget.NewMultiLineEntry() entry.SetPlaceHolder("Description...")
// Handle text changes entry.OnChanged = func(content string) { label.SetText(fmt.Sprintf("You typed: %s", content)) }
// Handle text submit (Enter key) entry.OnSubmitted = func(content string) { label.SetText(fmt.Sprintf("You submitted: %s", content)) }
// Layout content := container.NewVBox( label, entry, )
myWindow.SetContent(content) myWindow.Resize(fyne.NewSize(300, 200)) myWindow.ShowAndRun()}Password entry
Section titled “Password entry”Show Code
package main
import ( "fmt"
"fyne.io/fyne/v2" "fyne.io/fyne/v2/app" "fyne.io/fyne/v2/container" "fyne.io/fyne/v2/widget")
func main() { myApp := app.New() myWindow := myApp.NewWindow("Entry Example")
// Label to display entered password label := widget.NewLabel("No password yet")
// Create a password entry entry := widget.NewPasswordEntry() entry.SetPlaceHolder("Enter Password")
// Handle password changes entry.OnChanged = func(content string) { label.SetText(fmt.Sprintf("Your Password: %s", content)) }
// Handle password submit (Enter key) entry.OnSubmitted = func(content string) { label.SetText(fmt.Sprintf("You submitted Password: %s", content)) }
// Layout content := container.NewVBox( label, entry, )
myWindow.SetContent(content) myWindow.Resize(fyne.NewSize(300, 200)) myWindow.ShowAndRun()}Date Picker
Section titled “Date Picker”Show Code
package main
import ( "fmt" "time"
"fyne.io/fyne/v2" "fyne.io/fyne/v2/app" "fyne.io/fyne/v2/container" "fyne.io/fyne/v2/widget")
func main() { myApp := app.New() myWindow := myApp.NewWindow("Date Picker")
// Label to display selected date label := widget.NewLabel("No date selected")
// Create date entry with a default date //fyne: v2.6.1 dateEntry := widget.NewDateEntry() dateEntry.SetDate(&time.Time{})
// Handle date change dateEntry.OnChanged = func(t *time.Time) { label.SetText(fmt.Sprintf("Selected date: %s", t.Format("02-01-2006"))) }
// Layout content := container.NewVBox( label, dateEntry, )
myWindow.SetContent(content) myWindow.Resize(fyne.NewSize(300, 200)) myWindow.ShowAndRun()}Entry With Data
Section titled “Entry With Data”Show Code
package main
import ( "fmt"
"fyne.io/fyne/v2" "fyne.io/fyne/v2/app" "fyne.io/fyne/v2/container" "fyne.io/fyne/v2/data/binding" "fyne.io/fyne/v2/widget")
func main() { myApp := app.New() myWindow := myApp.NewWindow("Entry With Data")
// Create a bound string with default text textData := binding.NewString() textData.Set("Hello Fyne!")
// Create an entry bound to the string entry := widget.NewEntryWithData(textData)
// Label to show the current value of the bound string label := widget.NewLabel("")
// Listen for changes in bound data textData.AddListener(binding.NewDataListener(func() { val, _ := textData.Get() label.SetText(fmt.Sprintf("Current text: %s", val)) }))
// Layout content := container.NewVBox( label, entry, )
myWindow.SetContent(content) myWindow.Resize(fyne.NewSize(350, 200)) myWindow.ShowAndRun()}