theme: healer-readable
开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第8天,点击查看活动详情
Fyne是由Golang开发的跨平台应用,除了对Windows、Mac、Linux这三大PC平台提供了支持,还支持树莓派、移动APP的打包发布,可以说在跨平台方面做到了极致。另外Fyne项目没有复杂目录结构,使用一个独立的go文件就能启动一个简单的应用。
安装
安装 fyne 之前需要先安装一下相关依赖(说明:本文档针对于Windows开发环境):
- 搭建 Golang 开发环境(注:Golang版本 ≥ 1.12)
- 下载并安装C编译器,例如:msys2
- 打开刚安装的 MinGW 64-bit,输入以下命令安装并更新图形库,提示选择安装的模块时,默认安装所有即可
pacman -Syu
pacman -S git mingw-w64-x86_64-toolchain
- 将 Golang 可执行文件的位置添加到 MinGW 的环境变量中,参考如下,将 "/d/go1.18/bin" 修改为自己的实际安装位置(注:以下命令均需在 MinGW 64-bit 中执行)
echo "export PATH=\$PATH:/d/go1.18/bin:~/Go/bin" >> ~/.bashrc
go get
go get fyne.io/fyne/v2
go run
go run fyne.io/fyne/v2/cmd/fyne_demo
案例如下:
快速上手
fyne.App
func main() {
a := app.New()
// 设置窗体的标题 Get
w := a.NewWindow("Get")
// 设置窗体显示的文本内容 Char
w.SetContent(widget.NewLabel("Char"))
w.ShowAndRun()
}
实现“显示时间”的应用
使用 fyne 新建应用整体来说分为三步:
fyne.App
a := app.New()
- 设置窗体标题
w := a.NewWindow("Time")
- 设置窗体正文内容
clock := widget.NewLabel("")
w.SetContent(clock)
go func() {
for {
// 更新窗体正文
clock.SetText(time.Now().Format("2006-01-02 03:04:05"))
time.Sleep(time.Second)
}
}()
// 设置窗体默认大小
w.Resize(fyne.Size{ Width: 250, Height: 35})
w.ShowAndRun()
打包部署
fyne
go install fyne.io/fyne/v2/cmd/fyne@latest
fyne package-icon
fyne package -icon icon.png