Skip to content

Entry

This is a text input field using Fyne’s NewEntry widget, allowing users to type and edit text.

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()
}
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()
}
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()
}
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()
}
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()
}