Fyne 系列 07:数据绑定与状态管理
简单界面里,可以直接读取控件值。界面变复杂后,数据绑定能减少手动同步,让控件和数据状态保持一致。
字符串绑定
1 | name := binding.NewString() |
输入框修改后,label 会自动更新。代码里修改 name,界面也会跟着刷新。
1 | name.Set("Go GUI") |
读取值:
1 | value, err := name.Get() |
布尔和数字
1 | enabled := binding.NewBool() |
数字可以用 binding.NewFloat()、binding.NewInt(),常见于滑块、进度、计数器。
列表绑定
1 | items := binding.NewStringList() |
列表内容变化时,绑定对象会通知控件刷新。
什么时候使用绑定
如果只是按钮点击后读取一次输入框,直接 entry.Text 更简单。如果多个控件共享同一份状态,或者数据会被后台任务更新,绑定会更清晰。
实践里可以把业务状态放在结构体里,界面状态用 binding 暴露给控件。这样既不会把业务逻辑塞进按钮回调,也不会让界面刷新散落在各处。
评论
评论插件加载失败
正在加载评论插件