首页 > 解决方案 > 为什么找不到来自 andlabs/ui 包的组件

问题描述

我正在尝试按照简单的代码(从此处修改)来创建一个窗口:

package main
import ("github.com/andlabs/ui")
func main() {
    ui.Main(makeMainWin)
}
func makeMainWin(){
    var bmiButton = ui.NewButton("First")
    var otherButton = ui.NewButton("Second")
    //ui.NewVerticalStack does not work; 
    stack := ui.NewVerticalStack(
                ui.NewLabel("Select module"),
                bmiButton,
                otherButton,
                )
    var mainWindow = ui.NewWindow("Hello", 200, 100, stack)
    mainWindow.OnClosing( func (*ui.Window) bool { ui.Quit(); return true   } )
}

但是代码没有编译,我收到以下错误:

# command-line-arguments
./guiStack.go:14:11: undefined: ui.NewVerticalStack

为什么找不到 NewVerticalStack?问题出在哪里,如何解决?谢谢你的帮助。

标签: user-interfacegoandlabs-ui

解决方案


NewVerticalStack不再是包的一部分。您应该改用NewVerticalBox

// ...
box := ui.NewVerticalBox()
box.Append(ui.NewLabel("Select module"), false)
box.Append(bmiButton, false)
box.Append(otherButton, false)
var mainWindow = ui.NewWindow("Hello", 200, 100, false)
window.SetChild(box)
// ...

推荐阅读