cmd太丑了,所以gui需求比较强烈

用到了andlabs/ui这个库

核心需求:csv导表工具

核心代码:

func ShowGUI() {
	err := ui.Main(func() {
		// 生成:标签
		greeting := ui.NewLabel("导表工具1.0")
		// 生成:标签
		result := ui.NewLabel("无进程")
		// 生成:按钮
		button := ui.NewButton("导表")
		// 设置:按钮点击事件
		button.OnClicked(func(*ui.Button) {
			result.SetText("无进程")
			button.Hide()
			Export()
			button.Show()
			result.SetText("导出成功")
		})
		// 生成:垂直容器
		box := ui.NewVerticalBox()

		// 往 垂直容器 中添加 控件
		box.Append(greeting, false)
		box.Append(button, false)
		box.Append(result, false)

		// 生成:窗口(标题,宽度,高度,是否有 菜单 控件)
		window := ui.NewWindow(`导表工具1.0 by DongTech`, 360, 240, true)

		// 窗口容器绑定
		window.SetChild(box)

		// 设置:窗口关闭时
		window.OnClosing(func(*ui.Window) bool {
			// 窗体关闭
			ui.Quit()
			return true
		})

		// 窗体显示
		window.Show()
	})
	if err != nil {
		panic(err)
	}

	// 编译go build 不需要显示窗体
	// go build  -ldflags="-H windowsgui"
}

项目路径:

运行效果如图:

文件大小差了很多倍:

其他:

gui 安装类库

go get github.com/andlabs/libui

go get github.com/andlabs/ui

gcc 安装类库(64位)

https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/installer/mingw-w64-install.exe