• 授权协议:BSD
  • 开发厂商:-
  • 软件语言:Google Go
  • 更新日期:2019-06-23
gocui

gocui 是一个 Go 语言用来开发控制台应用的 UI 工具包。最小化 API. 视图 (窗口) 实现接口 io.ReadWriter. 支持重叠视图 可在运行时修改 GUI 全局或者是视图层级的快捷键绑定 支持鼠标操作 彩色文本输出 可定制化的编辑模式 易于构建可重用的 UI 部件,复杂的布局等示例代码package main

gocui Go 控制台 UI 开发包 项目简介

gocui 是一个 Go 语言用来开发控制台应用的 UI 工具包。主要特性:最小化 API. 视图 (窗口) 实现接口 io.ReadWriter. 支持重叠视图 可在运行时修改 GUI 全局或者是视图层级的快捷键绑定 支持鼠标操作 彩色文本输出 可定制化的编辑模式 易于构建可重用的 UI 部件,复杂的布局等示例代码package main

import (
"fmt"
"log"

"github.com/jroimartin/gocui"
)

func main() {
g, err := gocui.NewGui(gocui.OutputNormal)
if err != nil {
log.Panicln(err)
}
defer g.Close()

g.SetManagerFunc(layout)

if err := g.SetKeybinding("", gocui.KeyCtrlC, gocui.ModNone, quit); err != nil {
log.Panicln(err)
}

if err := g.MainLoop(); err != nil && err != gocui.ErrQuit {
log.Panicln(err)
}
}

func layout(g *gocui.Gui) error {
maxX, maxY := g.Size()
if v, err := g.SetView("hello", maxX/2-7, maxY/2, maxX/2+7, maxY/2+2); err != nil {
if err != gocui.ErrUnknownView {
return err
}
fmt.Fprintln(v, "Hello world!")
}
return nil
}

func quit(g *gocui.Gui, v *gocui.View) error {
return gocui.ErrQuit
}应用效果

gocui Go 控制台 UI 开发包 评论内容