go和Fyne-试图创建一个单独的窗口,根据按下的按钮显示两组不同的信息



我有下面的代码,它不会编译,根据按下的按钮显示两组不同的内容。目标是根据所选按钮(在同一窗口中(以程序方式更改内容。

编译错误出现在第19行和第27行,表示content1和content2未定义。

问题解决方案比修复编译错误更重要!

package main
import (
"fmt"
"fyne.io/fyne/v2"
"fyne.io/fyne/v2/app"
"fyne.io/fyne/v2/container"
"fyne.io/fyne/v2/widget"
)
func main() {
myApp := app.New()
myWindow := myApp.NewWindow("Hello")
myWindow.Resize(fyne.NewSize(500, 600))
label1 := widget.NewLabel("You are in content 1")
button1 :=    widget.NewButton("Button 1", 
func() {
fmt.Println("tapped button1")
myWindow.SetContent(content2)
myWindow.Show()
})

label2 := widget.NewLabel("You are in content 2")
button2 :=    widget.NewButton("Button 2", 
func() {
fmt.Println("tapped button2")
myWindow.SetContent(content1)
myWindow.Show()
})  
content1 := container.NewVBox(
label1,
button1,
)       
content2 := container.NewVBox(
label2,
button2,
)
myWindow.SetContent(content1)
myWindow.ShowAndRun() 
}

在定义变量之前不能引用它。尝试在引用var content1 fyne.CanvasObject之前使用它(例如(,并将content1 :=更改为content1 =,以便在知道它后更新它的值。

相关内容

  • 没有找到相关文章

最新更新