Go语言:Windows下最好用的桌面GUI库(lxn/walk 起步教程)

导言:

  • 本人(海东喵) 学过一堆 第三方桌面GUI库,但是那些库不是 BUG一堆,就是 功能有很大的欠缺
  • 今天我要推荐给大家的这款是以 Windows API 做的 GUI库,他的 性能功能都很完美目前没有太大的缺陷
  • 我研究了将近 3个月 了,发现功能上很接近 C# winform 了,所以开始写教程分享给想学GUI的同学。

前置安装:


go get github.com/akavel/rsrc
go get github.com/lxn/win
go get github.com/lxn/walk

代码实例:


package main

import (
    "syscall"

    "github.com/lxn/walk"
    "github.com/lxn/win"
)

func main() {
    window, _ := walk.NewMainWindow()

    // 设置窗体标题
    window.SetTitle(`你好世界!`)

    // 设置窗体的宽高
    window.SetWidth(400)
    window.SetHeight(400)

    // 设置窗体生成在屏幕的正中间
    // 窗体横坐标 = ( 屏幕宽度 - 窗体宽度 ) / 2
    // 窗体纵坐标 = ( 屏幕高度 - 窗体高度 ) / 2
    window.SetX((int(win.GetSystemMetrics(0)) - window.Width()) / 2)
    window.SetY((int(win.GetSystemMetrics(1)) - window.Height()) / 2)

    // 设置窗体为显示状态(默认:隐藏状态)
    window.Show()

    // 运行窗体
    window.Run()
}

创建清单文件 main.manifest


文件说明:

  • main.manifest应用程序配置元数据清单文件(不懂可以绕过,不用去理解也行)
  • main.manifest 保存在 main.go同级目录下
  • 直接复制 “文件内容” 即可,没特殊情况不用修改

文件内容:



    
    
        
            
        
    
    
        
            PerMonitorV2, PerMonitor
            True
        
    

生成 / 编译:


第一步:将 main.manifest 生成为 main.syso

  • 这个步骤只需要运行一次, 调试/编译 只需一直执行 第二步
  • 生成的 main.syso可以拿到别的 GUI 项目中使用的
  • 除非你想修改 main.manifest 或者 图标文件 才要重新生成一次
  • 在当前窗口下 打开 cmd,运行如下命令:
rsrc -manifest main.manifest -o main.syso

第二步:编译成独立的 exe 文件

  • 不管 调试 还是 正式编译,都必须通过 双击 exe 文件运行,无法使用 go run main.go 直接运行
  • 调试:
go build
  • 正式编译:
go build -ldflags="-H windowsgui -w -s"

运行结果:


Go语言:Windows下最好用的桌面GUI库(lxn/walk 起步教程)_第1张图片

你可能感兴趣的:(Go语言:Windows下最好用的桌面GUI库(lxn/walk 起步教程))