導(dǎo)言:andlabs/ui GUI庫支持在所有桌面系統(tǒng)平臺(tái)開發(fā)GUI程序
開發(fā)文檔:https://godoc.org/github.com/andlabs/ui
我的建議(2019-9-29):
-
我不是很提倡使用這個(gè)GUI庫了
(原因:功能缺陷嚴(yán)重
) - 因?yàn)槲野l(fā)現(xiàn)了一個(gè)
功能強(qiáng)大基本上沒有缺陷
的GUI庫(lxn/walk) 重點(diǎn):它以 Win32 API 做的底扳,生成的 exe 很輕量級(jí),各種體驗(yàn)都很好
- 相關(guān)文章:Go語言:Windows下最好用的桌面GUI庫(lxn/walk 起步教程)
開發(fā)前提:
-
Go:
1.8 以上的版本
-
Windows:
Windows Vista SP2 以上的 Windows 系統(tǒng)
-
Mac OS X:
Mac OS X 10.8 以上的 Mac 系統(tǒng)
-
其他操作系統(tǒng):
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
代碼實(shí)例:
package main
import (
"github.com/andlabs/ui"
_ "github.com/andlabs/ui/winmanifest"
)
func main() {
err := ui.Main(func() {
// 生成:文本框
name := ui.NewEntry()
// 生成:標(biāo)簽
greeting := ui.NewLabel(``)
// 生成:按鈕
button := ui.NewButton(`歡迎`)
// 設(shè)置:按鈕點(diǎn)擊事件
button.OnClicked(func(*ui.Button) {
greeting.SetText(`你好衷模,` + name.Text() + `!`)
})
// 生成:垂直容器
box := ui.NewVerticalBox()
// 往 垂直容器 中添加 控件
box.Append(ui.NewLabel(`請(qǐng)輸入你的名字:`), false)
box.Append(name, false)
box.Append(button, false)
box.Append(greeting, false)
// 生成:窗口(標(biāo)題蒲赂,寬度阱冶,高度,是否有 菜單 控件)
window := ui.NewWindow(`你好`, 200, 100, false)
// 窗口容器綁定
window.SetChild(box)
// 設(shè)置:窗口關(guān)閉時(shí)
window.OnClosing(func(*ui.Window) bool {
// 窗體關(guān)閉
ui.Quit()
return true
})
// 窗體顯示
window.Show()
})
if err != nil {
panic(err)
}
}