首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WxGo网格单元渲染器

WxGo网格单元渲染器
EN

Stack Overflow用户
提问于 2018-05-05 17:49:43
回答 1查看 204关注 0票数 2

显然,我缺少对Go或Wx小部件的一些基本理解。

我正在尝试创建一个非常基本的表,其中包含第一列中的复选框。

代码语言:javascript
复制
table := wx.NewGrid(w, wx.ID_ANY)
table.CreateGrid(4, 2)
table.SetCellEditor(0, 0, wx.SwigIsGridCellBoolRenderer{})

该代码给出了以下错误:

代码语言:javascript
复制
invalid type for composite literal: wx.SwigIsGridCellBoolRenderer

我知道我还得设置编辑。但我还没走那么远。答案越详细越好。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-10 14:54:31

错误提示您使用的是复合文字,它可以用于创建struts、片、数组、映射或派生项的值。

这是:

代码语言:javascript
复制
wx.SwigIsGridCellBoolRenderer{}

将是类型为wx.SwigIsGridCellBoolRenderer的空复合文本,但该类型与您可能与复合文本一起使用的类型的下一个类型。它是一种接口类型:

代码语言:javascript
复制
type SwigIsGridCellBoolRenderer interface {
    SwigGetGridCellBoolRenderer() GridCellBoolRenderer
}

wx.NewGrid()返回一种类型的wx.Grid,它是一个具有方法的接口:

代码语言:javascript
复制
SetCellEditor(arg2 int, arg3 int, arg4 SwigIsGridCellEditor)

因此,您必须向它传递一个满足/实现wx.SwigIsGridCellEditor接口的值。

这个接口只有一个方法:

代码语言:javascript
复制
type SwigIsGridCellEditor interface {
    SwigGetGridCellEditor() GridCellEditor
}

因此,任何具有这样的SwigGetGridCellEditor()方法的类型都可以在这里使用。这类类型是:

  • wx.SwigClassGridCellTextEditor
  • wx.SwigClassGridCellAutoWrapStringEditor
  • wx.SwigClassGridCellBoolEditor
  • wx.SwigClassGridCellChoiceEditor
  • wx.SwigClassGridCellEnumEditor
  • 等。

因此,创建上述一个实例,您可以传递给table.SetCellEditor()

例如:

代码语言:javascript
复制
editor := wx.NewGridCellTextEditor()
table.SetCellEditor(0, 0, editor)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50192405

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档