美文网首页📙Go语言:进阶大全Go
Go语言:开发GUI桌面应用(andlabs/ui)

Go语言:开发GUI桌面应用(andlabs/ui)

作者: 白祤星 | 来源:发表于2019-03-20 17:51 被阅读3252次

导言:andlabs/ui GUI库支持在所有桌面系统平台开发GUI程序
开发文档:https://godoc.org/github.com/andlabs/ui

1. 开发前提


  • Go1.8 以上的版本
  • WindowsWindows Vista SP2 以上的 Windows 系统
  • Mac OS XMac 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

2. 安装


go get github.com/andlabs/libui
go get github.com/andlabs/ui

3. 使用


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

相关文章

网友评论

    本文标题:Go语言:开发GUI桌面应用(andlabs/ui)

    本文链接:https://www.haomeiwen.com/subject/xyptvqtx.html