3

单击按钮时更改应用页面上的元素的最佳做法是什么。例如,我有这样的代码

package main

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

func main() {
    a := app.New()
    w := a.NewWindow("Hello")

    hello := widget.NewLabel("Hello Fyne!")
    w.SetContent(container.NewVBox(
        hello,
        widget.NewButton("Hi!", func() {
            // do something
        }),
    ))

    w.ShowAndRun()
}

如果单击 NewButton,我想更改此窗口上的元素。并在点击时显示具有不同功能的新按钮

4

1 回答 1

1

如果要更改容器的内容,则需要将 Container 设置为变量,以便以后可以访问其方法和字段来操作内容。

content := container.NewVBox(…)
w.SetContent(container)

然后您可以使用方法content或更改其Objects字段,然后调用Refresh().

于 2022-01-13T15:30:40.893 回答