Skip to content
On this page

ProgressBar 进度条

进度条小部件有两种形式,标准进度条显示用户已达到的值,从最小值到最大值。默认最小值为0.0,最大值默认为1.0。要使用默认值,只需调用widget.NewProgressBar()。创建后,可以设置Value字段。

要设置自定义范围,可以手动设置“最小”和“最大”字段。标签将始终显示完成百分比。

进度小部件的另一种形式是无限进度条。这个版本只是通过从左到右再向后移动一段条形图来显示某些活动正在进行。您可以使用widget.NewProgressBarInfinite()创建此控件,它将在显示后立即开始动画。

go
package main

import (
	"time"

	"fyne.io/fyne/v2/app"
	"fyne.io/fyne/v2/container"
	"fyne.io/fyne/v2/widget"
)

func main() {
	myApp := app.New()
	myWindow := myApp.NewWindow("ProgressBar Widget")

	progress := widget.NewProgressBar()
	infinite := widget.NewProgressBarInfinite()

	go func() {
		for i := 0.0; i <= 1.0; i += 0.1 {
			time.Sleep(time.Millisecond * 250)
			progress.SetValue(i)
		}
	}()

	myWindow.SetContent(container.NewVBox(progress, infinite))
	myWindow.ShowAndRun()
}