Golang GUI入门——andlabs ui

前端之家收集整理的这篇文章主要介绍了Golang GUI入门——andlabs ui前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

官方不提供gui标准库,只好寻求第三方库。
https://github.com/google/gxui 这个gui库是谷歌内部人员提供的,并不是谷歌官方出品,现在停止维护,只好作罢。

第三方gui库

找了好多,也比较了好多,最终决定使用的是还是
https://github.com/andlabs/ui
相信golang gui还会发展的更好,期待更优秀的gui库
由于andlabs-ui是基于andlabs-libuip写的,所以还需要
https://github.com/andlabs/libui

其它一些三方gui库,可查看
http://awesome-go.com/#gui

安装gui库

方式一:可能通过github网站,直接下载ui、libui两个库的zip包,然后放到你go的工作目录下,然后引用即可。
方式二:通过执行命令go get github.com/andlabs/ui、go get github.com/andlabs/libui直接下载到go工作目录下。
方式三:通过git clone到本地,再放到go工作目录下。

执行例子

测试代码
main.go

package main

import (
    "github.com/andlabs/ui"
)

func main() {
    err := ui.Main(func() {
        name := ui.NewEntry()
        button := ui.NewButton("Greet")
        greeting := ui.NewLabel("")
        Box := ui.NewVerticalBox()
        Box.Append(ui.NewLabel("Enter your name:"),false)
        Box.Append(name,false)
        Box.Append(button,false)
        Box.Append(greeting,false)
        window := ui.NewWindow("Hello",200,100,false)
        window.SetChild(Box)
        button.OnClicked(func(*ui.Button) {
            greeting.SetText("Hello," + name.Text() + "!")
        })
        window.OnClosing(func(*ui.Window) bool {
            ui.Quit()
            return true
        })
        window.Show()
    })
    if err != nil {
        panic(err)
    }
}

go run 执行测试代码

C:\Users\aaron>go run E:\0Develop\Go\work\src\gui-temp\main.go

# github.com/andlabs/ui
E:/0Develop/Go/work/src/github.com/andlabs/ui/libui_windows_amd64.a(stddialogs.cpp.obj): In function `msgBox':

E:/github.com/andlabs/libui/windows/stddialogs.cpp:113: undefined reference to `__imp_TaskDialog'
collect2.exe: error: ld returned 1 exit status

抛出异常!

解决undefined reference to `__imp_TaskDialog’

看问题讨论
https://github.com/andlabs/ui/issues/147
https://github.com/andlabs/ui/issues/190

windows需要的一些环境。
https://github.com/andlabs/ui/issues/159

windows下这个问题仍然解决不了,得找其它gui了。 有朋友如果知道怎么解决这个问题,也麻烦告知一下,谢谢。

原文链接:https://www.f2er.com/go/189121.html

猜你在找的Go相关文章