我正在使用 qml 库来创建 UI。我正在尝试学习如何从 UI (qml) 传递信息然后“做某事”。如果 QML 只是一个 UI,它就可以工作。当我这样做时,我可以运行得很好:
func main() {
if len(os.Args) != 2 {
fmt.Fprintf(os.Stderr, "usage: %s <qml file>\n", os.Args[0])
os.Exit(1)
}
if err := qml.Run(run); err != nil {
fmt.Fprintf(os.Stderr, "error: %v\n", err)
os.Exit(1)
}
}
func run() error {
engine := qml.NewEngine()
engine.On("quit", func() { os.Exit(0) })
component, err := engine.LoadFile(os.Args[1])
if err != nil {
return err
}
window := component.CreateWindow(nil)
window.Show()
window.Wait()
return nil
}
但是,当我添加一些代码时,为了尝试从 UI 中“学习”一些东西,我得到了运行时错误:
恐慌:运行时错误:cgo 参数具有指向 Go 指针的 Go 指针
我添加的代码是:
window.On("visibleChanged", func(visible bool) {
if (visible) {
fmt.Println("Width:", window.Int("width"))
}
})
我在 OSX El Capitan 上运行“go version go1.6 darwin/amd64”
任何想法为什么?谷歌暗示这是 Go 1.6 Beta 中的错误,但我正在运行最新的稳定版本(几天前安装)。
如果这不是一个简单的修复,有人可以解释“为什么”会发生这种情况吗?
阿晨1998
明月笑刀无情
浮云间
相关分类