fyne更新GUI内容
实现一个时钟界面,每秒钟更新一次。
package mainimport ("fyne.io/fyne/v2/app""fyne.io/fyne/v2/widget""time"
)func updateTime(label *widget.Label) {formatted := time.Now().Format("2006-01-02 15:04:05")label.SetText(formatted)
}func asyncUpdate(label *widget.Label) {// 每隔一秒修改一次for range time.Tick(time.Second) {updateTime(label)}
}func main() {a := app.New()w := a.NewWindow("Clock")label := widget.NewLabel("")updateTime(label)w.SetContent(label)go asyncUpdate(label)w.ShowAndRun()
}
w.SetContent(label),将label传入window,可以理解为将label放入window容器,后面只需更新label的内容即可,label.SetText()修改label显示内容。
只需要起一个协程定时执行label.SetText()修改label内容即可。
效果图: