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

来源:简书 分类: 文章浏览史 发布时间:2020-06-02 14:47:48 最后更新:2020-06-02 浏览:2479
转载声明:
本文为摘录自“简书”,版权归原作者所有。
温馨提示:
为了更好的体验,请点击原文链接进行浏览
摘录时间:
2020-06-02 14:47:48

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

我的建议(2019-9-29):

开发前提:


  • 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

安装:


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)
    }
}
php技术微信