Fyne
是一个 Go 语言的跨平台 GUI 库
相关命令
//全局安装fyne打包工具
go install fyne.io/fyne/v2/cmd/fyne@latest
// 引入fyne库
go get fyne.io/fyne/v2@latest
go mod tidy
//以窗口形式启动
go run main.go
//以手机模拟器形式启动
go run -tags mobile main.go
//打包
//桌面端
fyne package -os windows -icon icon.png
//移动端
fyne package -os android -appID my.domain.appname
fyne install -os android
fyne package -os ios -appID my.domain.appname
fyne package -os iossimulator -appID my.domain.appname
基本示例
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()
}
1. app
包
app.New()
:创建一个新的Fyne
应用实例。app.NewWithID(id string)
:创建带有唯一标识的应用实例,用于在不同会话间共享数据。app.NewWindow(title string)
:为应用创建一个新窗口。
2. canvas
包
canvas.NewText(text string, color color.Color)
:创建文本元素,可自定义颜色。canvas.NewRectangle(color color.Color)
:创建一个矩形图形,可用于绘制背景或形状。canvas.NewCircle(color color.Color)
:创建一个圆形图形。canvas.NewImageFromFile(filename string)
:加载并显示文件中的图像。canvas.NewLine(color color.Color)
:创建一条直线,用于简单的图形绘制。
3. container
包
container.NewVBox(objects ...fyne.CanvasObject)
:创建一个垂直布局容器,按顺序从上到下排列内容。container.NewHBox(objects ...fyne.CanvasObject)
:创建一个水平布局容器,按顺序从左到右排列内容。container.NewGridWithRows(rows int, objects ...fyne.CanvasObject)
:按指定行数创建网格布局容器。container.NewTabContainer(tabs ...*container.TabItem)
:创建带选项卡的容器。container.NewBorderContainer(top, bottom, left, right fyne.CanvasObject, content fyne.CanvasObject)
:创建边框布局容器,四边可固定元素,中间为内容区域。
4. dialog
包
dialog.NewConfirm(title string, message string, onConfirm func(bool), parent fyne.Window)
:确认对话框,带确认和取消按钮。dialog.NewInformation(title string, message string, paren