-
Fyne 系列 10:自定义 Widget 入门
Fyne 内置控件能覆盖大部分场景。如果你需要一个特殊展示样式,或者想把多个控件封装成一个可复用组件,就可以写自定义 Widget。 从组合控件开始很多时候不需要真正实现 Renderer,只要写一个函数返回组合好的 fyne.CanvasObjec... -
Fyne 系列 09:主题、图标与资源打包
Fyne 默认提供深色、浅色主题和一组内置图标。桌面工具不一定需要复杂设计,但至少应该有统一的主题、图标和资源管理方式。 使用内置图标123456toolbar := widget.NewToolbar( widget.NewToolbarActio... -
Fyne 系列 08:文件、对话框与系统交互
桌面工具经常需要打开文件、保存文件、选择目录、显示错误和进度。Fyne 的 dialog、storage、clipboard 等 API 可以覆盖这些常用需求。 打开文件1234567891011121314151617dialog.ShowFile... -
Fyne 系列 07:数据绑定与状态管理
简单界面里,可以直接读取控件值。界面变复杂后,数据绑定能减少手动同步,让控件和数据状态保持一致。 字符串绑定12345name := binding.NewString()name.Set("Fyne")entry := widg... -
Fyne 系列 06:List、Table、Tree 处理大量数据
列表、表格、树形控件是桌面工具里很常见的界面。Fyne 的 List、Table、Tree 都采用回调方式生成和更新内容,不是一次性创建所有行。 List12345678910111213items := []string{"co... -
Fyne 系列 05:常用控件实战
Fyne 的常用控件都在 widget 包里。掌握文本、按钮、输入框、选择框、勾选框、滑块,就能做出大多数工具类界面。 输入框和按钮12345678nameEntry := widget.NewEntry()nameEntry.SetPlaceHol... -
Fyne 系列 04:布局系统怎么选
Fyne 里不要用固定像素去摆控件,而是用容器和布局组合界面。窗口大小变化时,布局会自动重新计算控件位置和尺寸。 VBox 和 HBoxVBox 纵向排列,HBox 横向排列,适合最简单的表单和按钮组。 12345content := contain... -
Fyne 系列 03:窗口、App 生命周期与事件
Fyne 程序从 app.New() 开始,到 ShowAndRun() 进入事件循环。理解这个结构后,多窗口、关闭事件、后台任务都会清楚很多。 App 和 Window123a := app.New()w := a.NewWindow("... -
Fyne 系列 02:安装环境与第一个窗口
使用 Fyne 前,需要先准备 Go 环境和系统图形库依赖。Windows 和 macOS 通常比较顺,Linux 下最容易遇到缺少 OpenGL、X11 或 Wayland 开发包的问题。 安装 Go 和 Fyne CLI先确认 Go 可以正常使用... -
Fyne 系列 01:为什么用 Go 写桌面 GUI
Fyne 是一个用 Go 编写跨平台图形界面的工具包。它的定位不是做一个浏览器壳,也不是把前端工程搬到桌面上,而是让 Go 程序可以直接拥有一个原生桌面窗口。 如果你已经会写 Go 命令行工具,那么 Fyne 比较适合把这些工具包上一层界面,例如配置...