go-GUI框架-fyne打包
1.安装C编译器
https://sourceforge.net/projects/mingw-w64/files/mingw-w64/
安装后会自动加入环境变量path,自行确认
cmd下输入指令gcc -v,确定安装成功和版本
2.安装fyne
使用标准的go工具,安装Fyne的核心库使用:
go get fyne.io/fyne/v2@latest #安装fyne框架库
go get fyne.io/fyne/v2/cmd/fyne #安装fyne工具,go版本<1.16 go install fyne.io/fyne/v2/cmd/fyne@latest #安装fyne工具,go高版本
3.检查安装版本
在编写应用程序代码或运行示例之前,您可以使用 Fyne 安装工具检查您的安装。只需从链接下载适合您计算机的应用程序并运行它,您应该会看到类似以下屏幕的内容
4.运行演示
请注意,第一次运行必须编译一些 C 代码,因此可能需要比平时更长的时间。后续构建会重用缓存,速度会快很多。
go run fyne.io/fyne/v2/cmd/fyne_demo@latest
运行会自动下载相应的依赖:
运行结果, 看起来还不错:
5.创建程序
创建你的第一个Hello world程序:
main.go
package main import ( "fyne.io/fyne/v2/app" "fyne.io/fyne/v2/widget" ) func main() { app := app.New() // 创建应用程序实例 window := app.NewWindow("Hello world") // 创建窗口,标题为"Hello Wolrd" window.SetContent(widget.NewLabel("Hello world!")) // 往窗口中放入一个内容为"Hello world!"的标签控件 window.ShowAndRun() //展示并运行程序 }
一个简单的应用程序首先使用 app.New()
创建一个应用程序实例,然后使用 app.NewWindow()
打开一个窗口。然后定义了一个小部件树,它被设置为窗口上的 SetContent()
的主要内容。然后通过在窗口上调用 ShowAndRun()
来显示应用程序 UI。
上面的代码可以使用命令构建go build .
,然后通过运行hello
命令或双击图标来执行。您也可以绕过编译步骤,直接使用go run .
.
两种方法都会显示一个如下所示的窗口:
如果您更喜欢浅色主题,则只需设置环境变量FYNE_THEME=light
即可:
6.打包
6.1桌面应用程序
打包用于分发的图形应用程序可能很复杂。图形应用程序通常具有与之相关的图标和元数据,以及与每个环境集成所需的特定格式。Windows 可执行文件需要嵌入图标,macOS 应用程序是捆绑包,对于 Linux,应该安装各种元数据文件。好麻烦!
值得庆幸的是,“fyne”应用程序有一个“package”命令可以自动处理这个问题。只需指定目标操作系统和任何所需的元数据(例如图标)即可生成适当的包。.icns
或 .ico
的图标转换将自动完成,因此只需提供一个 .png
文件 😃。您所需要的只是已经为目标平台构建了应用程序......
fyne install -icon myapp.png #检测当前系统打包程序,不指定png默认是Icon.png
fyne package -os darwin -icon myapp.png #macOS系统,创建myapp.app
fyne package -os linux -icon myapp.png #linux系统,创建myapp.tar.gz
fyne package -os windows -icon myapp.png #window系统,创建myapp.exe
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!