我正在尝试按照简单的代码使用Fyne包创建 GUI :
// from: https://github.com/fyne-io/fyne
package main
import (
"fyne.io/fyne/widget"
"fyne.io/fyne/app"
)
func main() {
app := app.New()
w := app.NewWindow("Hello")
w.SetContent(widget.NewVBox(
widget.NewLabel("Hello Fyne!"),
widget.NewButton("Quit", func() {
app.Quit()
}),
))
w.ShowAndRun()
}
Run Code Online (Sandbox Code Playgroud)
它编译并构建可执行文件,没有任何错误,甚至没有警告,但在尝试运行时会出现以下错误:
I:\>rnfynetest
2019/08/25 12:37:18 Fyne error: failed to initialise OpenGL
2019/08/25 12:37:18 Cause: glBeginConditionalRender
2019/08/25 12:37:18 At: C:/Users/ABCD/go/src/fyne.io/fyne/internal/driver/gl/window.go:1007
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xc0000005 code=0x0 addr=0x2c pc=0x572afd]
goroutine 1 [running, locked to thread]:
fyne.io/fyne/internal/driver/gl.(*window).SetContent(0x0, 0x8fc5e0, 0x1386e0c0)
C:/Users/ABCD/go/src/fyne.io/fyne/internal/driver/gl/window.go:361 +0x1d
main.main()
I:/rnfynetest.go:10 …Run Code Online (Sandbox Code Playgroud)