Go语言:开发GUI桌面应用(andlabs/ui)
转载声明:
本文为摘录自“简书”,版权归原作者所有。
温馨提示:
为了更好的体验,请点击原文链接进行浏览
摘录时间:
2020-06-02 14:47:48
导言:andlabs/ui GUI库支持在所有桌面系统平台开发GUI程序
开发文档:https://godoc.org/github.com/andlabs/ui
我的建议(2019-9-29):
-
我不是很提倡使用这个GUI库了
(原因:功能缺陷严重
) - 因为我发现了一个
功能强大基本上没有缺陷
的GUI库(lxn/walk) 重点:它以 Win32 API 做的,生成的 exe 很轻量级,各种体验都很好
- 相关文章:Go语言:Windows下最好用的桌面GUI库(lxn/walk 起步教程)
开发前提:
-
Go:
1.8 以上的版本
-
Windows:
Windows Vista SP2 以上的 Windows 系统
-
Mac OS X:
Mac OS X 10.8 以上的 Mac 系统
-
其他操作系统:
GTK+3.10 以上
-
Debian、Ubuntu 等:
sudo apt-get install libgtk-3-dev
-
Red Hat / Fedora 等:
sudo dnf install gtk3-devel
-
Debian、Ubuntu 等:
安装:
go get github.com/andlabs/libui
go get github.com/andlabs/ui
代码实例:
package main
import (
"github.com/andlabs/ui"
_ "github.com/andlabs/ui/winmanifest"
)
func main() {
err := ui.Main(func() {
// 生成:文本框
name := ui.NewEntry()
// 生成:标签
greeting := ui.NewLabel(``)
// 生成:按钮
button := ui.NewButton(`欢迎`)
// 设置:按钮点击事件
button.OnClicked(func(*ui.Button) {
greeting.SetText(`你好,` + name.Text() + `!`)
})
// 生成:垂直容器
box := ui.NewVerticalBox()
// 往 垂直容器 中添加 控件
box.Append(ui.NewLabel(`请输入你的名字:`), false)
box.Append(name, false)
box.Append(button, false)
box.Append(greeting, false)
// 生成:窗口(标题,宽度,高度,是否有 菜单 控件)
window := ui.NewWindow(`你好`, 200, 100, false)
// 窗口容器绑定
window.SetChild(box)
// 设置:窗口关闭时
window.OnClosing(func(*ui.Window) bool {
// 窗体关闭
ui.Quit()
return true
})
// 窗体显示
window.Show()
})
if err != nil {
panic(err)
}
}