Preferences API
Learn how to use Fyne’s Preferences API to store and retrieve user settings, such as theme choices, window size, or custom app configurations.
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() { // Use app.NewWithID so preferences persist across runs a := app.NewWithID("com.example.preferences") w := a.NewWindow("Preferences API")
// Get Preferences API prefs := a.Preferences()
// Load stored value or default username := prefs.StringWithFallback("username", "Guest")
label := widget.NewLabel("Hello, " + username)
entry := widget.NewEntry() entry.SetPlaceHolder("Enter your name") entry.SetText(username)
saveBtn := widget.NewButton("Save", func() { name := entry.Text prefs.SetString("username", name) // ✅ Save to preferences label.SetText("Hello, " + name) fmt.Println("Saved username:", name) })
clearBtn := widget.NewButton("Clear", func() { prefs.RemoveValue("username") // ❌ Remove saved key label.SetText("Hello, Guest") fmt.Println("Cleared username") })
w.SetContent(container.NewVBox( label, entry, saveBtn, clearBtn, ))
w.Resize(fyne.NewSize(300, 200)) w.ShowAndRun()}