theme: healer-readable

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第8天,点击查看活动详情

Fyne是由Golang开发的跨平台应用,除了对Windows、Mac、Linux这三大PC平台提供了支持,还支持树莓派、移动APP的打包发布,可以说在跨平台方面做到了极致。另外Fyne项目没有复杂目录结构,使用一个独立的go文件就能启动一个简单的应用。

安装

安装 fyne 之前需要先安装一下相关依赖(说明:本文档针对于Windows开发环境):

  1. 搭建 Golang 开发环境(注:Golang版本 ≥ 1.12)
  2. 下载并安装C编译器,例如:msys2
  3. 打开刚安装的 MinGW 64-bit,输入以下命令安装并更新图形库,提示选择安装的模块时,默认安装所有即可
pacman -Syu
pacman -S git mingw-w64-x86_64-toolchain
  1. 将 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

案例如下:

image.png

快速上手

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()
  1. 设置窗体标题
w := a.NewWindow("Time")
  1. 设置窗体正文内容
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