Ошибка указывает на то, что вы используете составной литерал , который можно использовать для создания значений структур, срезов, массивов, карт или их производных.
Это:
wx.SwigIsGridCellBoolRenderer{}
Будет пустым составным литералом типа wx.SwigIsGridCellBoolRenderer
, но этот тип не относится к типам, которые вы можете использовать с составным литералом. Это тип интерфейса:
type SwigIsGridCellBoolRenderer interface {
SwigGetGridCellBoolRenderer() GridCellBoolRenderer
}
wx.NewGrid()
возвращает тип 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)