# go_win **Repository Path**: flamez57/go_win ## Basic Information - **Project Name**: go_win - **Description**: 桌面程序 - **Primary Language**: Go - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-01-22 - **Last Updated**: 2025-01-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## Go Gio UI 学习 ### 导入所需的包: `gioui.org/app`: 用于创建窗口和处理应用程序生命周期。 `gioui.org/layout`: 用于布局管理。 `gioui.org/op`: 用于操作管理。 `gioui.org/unit`: 用于单位管理。 `gioui.org/widget`: 用于创建可交互的组件。 `gioui.org/widget/material`: 用于应用设计主题。 ### 创建窗口: 使用`app.Window()`创建一个新的应用窗口。 ### 创建主题: 使用`material.NewTheme()`创建一个新的主题。 ### 创建按钮: 使用`widget.Clickable`创建一个可点击的按钮。 ### 事件循环: 使用`for`循环处理窗口事件。 处理`app.DestroyEvent`事件err退出程序。 处理`app.FrameEvent`事件以更新和绘制界面。 检查按钮的点击事件并输出 "按钮被点击了!"。 ### 布局和绘制按钮: 使用`layout.Center.Layout`将按钮居中显示。 使用`material.Button`创建按钮并将其绘制到界面上。 ## 运行 #### 初始化项目 ```shell go mod init go_win ``` #### 清理和更新go.mod和go.sum文件 ```shell go mod tidy ``` #### 将当前项目的依赖包复制到项目根目录下的vendor子目录中 ```shell go mod vendor ``` #### 运行项目 ```shell go run main.go ``` #### 打包 ```shell go build -o 点点.exe main.go ```