加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Golang GUI入门——andlabs ui

发布时间:2020-12-16 18:23:01 所属栏目:大数据 来源:网络整理
导读:官方不提供gui标准库,只好寻求第三方库。 https://github.com/google/gxui 这个gui库是谷歌内部人员提供的,并不是谷歌官方出品,现在停止维护,只好作罢。 第三方gui库 找了好多,也比较了好多,最终决定使用的是还是 https://github.com/andlabs/ui 相信g

官方不提供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:Usersaaron>go run E:DevelopGoworksrcgui-tempmain.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了。 有朋友如果知道怎么解决这个问题,也麻烦告知一下,谢谢。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读