天天看點

golang [andlabs/ui]GUI庫 制作可視化小工具[開箱可用]

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"
}
           

項目路徑:

https://github.com/zld126126/export_tool_ts

運作效果如圖:

golang [andlabs/ui]GUI庫 制作可視化小工具[開箱可用]

檔案大小差了很多倍:

golang [andlabs/ui]GUI庫 制作可視化小工具[開箱可用]

其他:

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