drjltlm156790 2018-05-05 17:49
浏览 108
已采纳

WxGo网格单元渲染器

I'm obviously missing some basic understanding of either Go or Wx Widgets.

I'm trying to create a very basic table with checkboxes in the first column.

table := wx.NewGrid(w, wx.ID_ANY)
table.CreateGrid(4, 2)
table.SetCellEditor(0, 0, wx.SwigIsGridCellBoolRenderer{})

That code gives me this error:

invalid type for composite literal: wx.SwigIsGridCellBoolRenderer

I know I also have to set the editor. But I'm not even that far. The more detailed the answer, the better. Thank you!

  • 写回答

1条回答 默认 最新

  • duanpei4455 2018-05-10 14:54
    关注

    The error hints you are using a composite literal, which can be used to create values of struts, slices, arrays, maps or derivatives of these.

    This:

    wx.SwigIsGridCellBoolRenderer{}
    

    Would be an empty composite literal of the type wx.SwigIsGridCellBoolRenderer, but that type is nether of the types you may use with a composite literal. It is an interface type:

    type SwigIsGridCellBoolRenderer interface {
        SwigGetGridCellBoolRenderer() GridCellBoolRenderer
    }
    

    wx.NewGrid() returns a type of wx.Grid which is an interface with a method:

    SetCellEditor(arg2 int, arg3 int, arg4 SwigIsGridCellEditor)
    

    So you have to pass a value to it that satisfies / implements the wx.SwigIsGridCellEditor interface.

    This interface has a single method:

    type SwigIsGridCellEditor interface {
        SwigGetGridCellEditor() GridCellEditor
    }
    

    So any type that has such SwigGetGridCellEditor() method may be used here. Such types are:

    • wx.SwigClassGridCellTextEditor
    • wx.SwigClassGridCellAutoWrapStringEditor
    • wx.SwigClassGridCellBoolEditor
    • wx.SwigClassGridCellChoiceEditor
    • wx.SwigClassGridCellEnumEditor
    • etc.

    So create an instance of one of the above, that you can pass to table.SetCellEditor().

    For example:

    editor := wx.NewGridCellTextEditor()
    table.SetCellEditor(0, 0, editor)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛