共计 1353 个字符,预计需要花费 4 分钟才能阅读完成。
Fyne 是一个用 Go 编写的易于使用的 UI 工具包和应用程序 API。它旨在构建在具有单一代码库的桌面和移动设备上运行的应用程序。
demo 演示
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() {hello.SetText("Welcome :)")
}),
))
w.ShowAndRun()}
运行
go run main.go
windows 情况下可能会遇到如下报错
command-line-arguments
C:\Program Files\Go\pkg\tool\windows_amd64\link.exe: running gcc failed: exit status 1
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: cannot find -lmingwex
/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/../../../../x86_64-pc-cygwin/bin/ld: cannot find -lmingw32
collect2: error: ld returned 1 exit status
出现这种错误是因为安装的 gcc 版本是 windows 的 gcc 导致的,解决方法也很简单,取消设置的 cygwin bin 环境变量,使现有的程序不再使用 cygwin 安装的 gcc 版本。
安装新的 tdm-gcc
https://jmeubank.github.io/tdm-gcc/download/
再次运行,报错如下
mod\github.com\go-gl\glfw\v3.3\glfw@v0.0.0-20211024062804-40e447a793be/glfw/src/input.c:501: undefined reference to __assert_func' C:/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\15006\AppData\Local\Temp\go-link-613747495\000002.o:C:\Users\15006\go\pkg\ mod\github.com\go-gl\glfw\v3.3\glfw@v0.0.0-20211024062804-40e447a793be/glfw/src/input.c:632: more undefined references to
__assert_func’ follow
解决办法:
删除 C:\Users\ 用户名 \AppData\Local\go-build
再次 build 就成功了~