Slider
This is a slider widget in Fyne used to select a value within a range by dragging a handle horizontally or vertically.
Simple Slider
Section titled “Simple Slider”Show Code
package main
import ( "fmt" "strconv"
"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("Slider")
// Label to show slider value valueLabel := widget.NewLabel("Value: 0")
// Create slider from 0 to 100 with a step of 1 slider := widget.NewSlider(0, 100) slider.Step = 1 slider.OnChanged = func(v float64) { valueLabel.SetText("Value: " + strconv.Itoa(int(v))) } slider.OnChangeEnded = func(v float64) { fmt.Printf("Slider stopped at: %.0f\n", v) }
content := container.NewVBox( widget.NewLabel("Move the slider:"), slider, valueLabel, )
myWindow.SetContent(content) myWindow.Resize(fyne.NewSize(300, 150)) myWindow.ShowAndRun()}Slider With Data
Section titled “Slider With Data”Show Code
package main
import ( "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("Slider With Data")
// Bind a float value value := binding.NewFloat()
// Label bound to the float value valueLabel := widget.NewLabelWithData(binding.FloatToStringWithFormat(value, "Value: %.0f"))
// Create slider bound to the value slider := widget.NewSliderWithData(0, 100, value) slider.Step = 1
// Another label showing raw number rawValueLabel := widget.NewLabelWithData(binding.FloatToString(value))
content := container.NewVBox( widget.NewLabel("Move the slider:"), slider, valueLabel, widget.NewLabel("Raw value:"), rawValueLabel, )
myWindow.SetContent(content) myWindow.Resize(fyne.NewSize(300, 150)) myWindow.ShowAndRun()}