Hello Fyne
# Fyne
库简介
Fyne
是一个易于使用的UI
工具包和用Go
编写的应用程序API
。它旨在构建在桌面和移动设备上运行的应用程序,这些应用程序具有单个代码库。
# 项目地址
fyne-io/fyne: Cross platform GUI in Go inspired by Material Design (opens new window)
# 安装
# 安装基础环境
笔记
Fyne
需要有3
个基本要素,Go
工具(至少 1.12 版本),C
编译器(与系统图形驱动连接)和系统图形驱动。
警告
以上安装的环境仅仅是在开发时所需要的依赖,打包后的程序不会需要在终端用户的机器上面安装这些环境
# Windows
安装
Go
环境,下载地址 (opens new window)安装可用的
windows
版C
语言编译器,以下是官方通过测试的编译器,任意选择其中一个即可MSYS2 with MingW-w64
- msys2.org (opens new window)TDM-GCC
- tdm-gcc.tdragon.net (opens new window)Cygwin
- cygwin.com (opens new window)
更新
Windows
的图形驱动版本,使其保证最新
# MSYS2
安装步骤
从
msys2.org
安装MSYS2
。一旦安装,不要使用打开的
MSYS
终端从开始菜单中打开
MSYS2 MinGW 64-bit
。执行以下命令(如果被要求提供安装选项,请务必选择 "全部")。
pacman -Syu pacman -S git mingw-w64-x86_64-toolchain
1
2将
/c/Program/Files/Go/bin
和~/Go/bin
添加到你的PATH
中,对于MSYS2
你可以把下面的命令粘贴到你的终端。echo "export PATH=$PATH:/c/Program\ Files/Go/bin:~/Go/bin" >> ~/.bashrc
1
# macOS
安装
Go
环境,下载地址 (opens new window)从
Mac App Store
安装Xcode
,Xcode (opens new window)通过打开一个终端窗口并输入以下内容来设置
Xcode
命令行工具。xcode-select --install
更新图形驱动
# Linux
使用Linux
对应的软件包管理器安装Go
、gcc
和图形库头文件。
Debian/Ubuntu:
sudo apt-get install golang gcc libgl1-mesa-dev xorg-dev
Fedora:
sudo dnf install golang gcc libXcursor-devel libXrandr-devel mesa-libGL-devel libXi-devel libXinerama-devel libXxf86vm-devel
Arch Linux:
sudo pacman -S go xorg-server-devel libxcursor libxrandr libxinerama libxi
Solus:
sudo eopkg it -c system.devel golang mesalib-devel libxrandr-devel libxcursor-devel libxi-devel libxinerama-devel
openSUSE:
sudo zypper install go gcc libXcursor-devel libXrandr-devel Mesa-libGL-devel libXi-devel libXinerama-devel libXxf86vm-devel
Void Linux:
sudo xbps-install -S go base-devel xorg-server-devel libXrandr-devel libXcursor-devel libXinerama-devel
# 安装Fyne
核心
go get fyne.io/fyne/v2
# demo
go get fyne.io/fyne/v2/cmd/fyne_demo/
fyne_demo
2
# Hello Fyne
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()
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 注意事项
Fyne
并没有提供中文的字体,如果需要使用中文自己需要自行引用中文字体。