WxGo 网格单元格渲染器
WxGo Grid Cell renderer
我显然缺少对 Go 或 Wx Widgets 的一些基本了解。
我正在尝试创建一个非常基本的 table,在第一列中带有复选框。
table := wx.NewGrid(w, wx.ID_ANY)
table.CreateGrid(4, 2)
table.SetCellEditor(0, 0, wx.SwigIsGridCellBoolRenderer{})
那个代码给我这个错误:
invalid type for composite literal: wx.SwigIsGridCellBoolRenderer
我知道我还得设置编辑器。但我什至没有那么远。答案越详细越好。谢谢!
错误提示您正在使用 composite literal,它可用于创建 struts 的值、切片、数组、映射或它们的派生词。
这个:
wx.SwigIsGridCellBoolRenderer{}
将是 wx.SwigIsGridCellBoolRenderer
类型的空复合文字,但该类型不是您可以与复合文字一起使用的类型。是接口类型:
type SwigIsGridCellBoolRenderer interface {
SwigGetGridCellBoolRenderer() GridCellBoolRenderer
}
wx.NewGrid()
returns wx.Grid
的一种类型,它是一个带有方法的接口:
SetCellEditor(arg2 int, arg3 int, arg4 SwigIsGridCellEditor)
所以你必须传递一个满足/实现wx.SwigIsGridCellEditor
接口的值。
这个接口只有一个方法:
type SwigIsGridCellEditor interface {
SwigGetGridCellEditor() GridCellEditor
}
所以任何具有这种 SwigGetGridCellEditor()
方法的类型都可以在这里使用。这些类型是:
wx.SwigClassGridCellTextEditor
wx.SwigClassGridCellAutoWrapStringEditor
wx.SwigClassGridCellBoolEditor
wx.SwigClassGridCellChoiceEditor
wx.SwigClassGridCellEnumEditor
- 等等
因此创建上述其中一项的实例,您可以将其传递给 table.SetCellEditor()
。
例如:
editor := wx.NewGridCellTextEditor()
table.SetCellEditor(0, 0, editor)
我显然缺少对 Go 或 Wx Widgets 的一些基本了解。
我正在尝试创建一个非常基本的 table,在第一列中带有复选框。
table := wx.NewGrid(w, wx.ID_ANY)
table.CreateGrid(4, 2)
table.SetCellEditor(0, 0, wx.SwigIsGridCellBoolRenderer{})
那个代码给我这个错误:
invalid type for composite literal: wx.SwigIsGridCellBoolRenderer
我知道我还得设置编辑器。但我什至没有那么远。答案越详细越好。谢谢!
错误提示您正在使用 composite literal,它可用于创建 struts 的值、切片、数组、映射或它们的派生词。
这个:
wx.SwigIsGridCellBoolRenderer{}
将是 wx.SwigIsGridCellBoolRenderer
类型的空复合文字,但该类型不是您可以与复合文字一起使用的类型。是接口类型:
type SwigIsGridCellBoolRenderer interface {
SwigGetGridCellBoolRenderer() GridCellBoolRenderer
}
wx.NewGrid()
returns wx.Grid
的一种类型,它是一个带有方法的接口:
SetCellEditor(arg2 int, arg3 int, arg4 SwigIsGridCellEditor)
所以你必须传递一个满足/实现wx.SwigIsGridCellEditor
接口的值。
这个接口只有一个方法:
type SwigIsGridCellEditor interface {
SwigGetGridCellEditor() GridCellEditor
}
所以任何具有这种 SwigGetGridCellEditor()
方法的类型都可以在这里使用。这些类型是:
wx.SwigClassGridCellTextEditor
wx.SwigClassGridCellAutoWrapStringEditor
wx.SwigClassGridCellBoolEditor
wx.SwigClassGridCellChoiceEditor
wx.SwigClassGridCellEnumEditor
- 等等
因此创建上述其中一项的实例,您可以将其传递给 table.SetCellEditor()
。
例如:
editor := wx.NewGridCellTextEditor()
table.SetCellEditor(0, 0, editor)