自学内容网 自学内容网

fyne更新GUI内容

fyne更新GUI内容

实现一个时钟界面,每秒钟更新一次。

package main

import (
"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内容即可。

效果图:

在这里插入图片描述


原文地址:https://blog.csdn.net/shulu/article/details/138919766

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!