1、介绍

Go 语言生态中,GUI 一直是短板,更别说跨平台的 GUI 了。fyne向前迈了一大步。fyne 是 Go 语言编写的跨平台的 UI 库,它可以很方便地移植到手机设备上。fyne使用上非常简单,同时它还提供fyne命令打包静态资源和应用程序。我们先简单介绍基本控件和布局,然后介绍如何发布一个fyne应用程序。

快速使用

由于fyne包含一些 C/C++ 的代码,所以需要gcc编译工具。在 Linux/Mac OSX 上,gcc基本是标配,在 windows上有 3 种方式安装gcc工具链:

安装fyne

go get -u fyne.io/fyne

简单窗口

package main

import (
	"fyne.io/fyne"
	"fyne.io/fyne/app"
	"fyne.io/fyne/widget"
)

func main() {
    // 创建应用程序对象
	app := app.New()
    // 创建一个新窗口
	win := app.NewWindow("Hello World")
    // 设置窗口内容
	win.SetContent(widget.NewLabel("Hello World"))
    // 设置窗口大小
	win.Resize(fyne.NewSize(500, 500))
    // 等价于 win.Show() app.Run()
	win.ShowAndRun()
}

fyne包结构划分

fyne将功能划分到多个子包中:

Canvas