跳过正文
  1. 文章/
  2. GoLang/
  3. GUI/
  4. Fyne/

1、介绍

·649 字·2 分钟· loading · loading · ·
GoLang GUI Fyne
GradyYoung
作者
GradyYoung
Fyne - 点击查看当前系列文章
§ 1、介绍 「 当前文章 」

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

快速使用
#

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

  • MSYS2 + MingW-w64:https://www.msys2.org/;
  • TDM-GCC:https://jmeubank.github.io/tdm-gcc/download/;
  • Cygwin:https://www.cygwin.com/。

安装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将功能划分到多个子包中:

  • fyne.io/fyne:提供所有fyne应用程序代码共用的基础定义,包括数据类型和接口;
  • fyne.io/fyne/app:提供创建应用程序的 API;
  • fyne.io/fyne/canvas:提供Fyne使用的绘制 API;
  • fyne.io/fyne/dialog:提供对话框组件;
  • fyne.io/fyne/layout:提供多种界面布局;
  • fyne.io/fyne/widget:提供多种组件,fyne所有的窗体控件和交互元素都在这个子包中。
Fyne - 点击查看当前系列文章
§ 1、介绍 「 当前文章 」