首页 > 解决方案 > GridCellBoolRenderer 已被删除 - wxPython Grid 示例

问题描述

我是使用 wxPython 的新手,并且有点挣扎......

我正在关注 Rapin,Dunn 的“wxPython in Action”中非常简单的股票/普通示例。

我已经在这个 GitHub Gist 上列出了完整的代码列表: https ://gist.github.com/ejohnso9/b60f4c4780d0c6b27c2f87de378494a6

如果您按原样运行代码,它将(或应该)显示一个简单的网格,25 行,10 列,并添加了一些颜色(按列)。这似乎工作正常。

我的数据已输入,我正在尝试在第 8 列中应用 wx.grid.GridCellBoolRenderer()。

前两个调用:

   grid.SetCellRenderer(row_idx, col_idx, renderer)

实际上似乎返回 OK,但是在第三次通过循环(只是迭代行数,为列中的每个单元格调用 SetCellRenderer())时,我收到错误消息:

RuntimeError: wrapped C/C++ object of type GridCellBoolRenderer has been deleted

(只需取消注释TestFrame类中的调用即可运行该SetColumnRenderers()方法。)

我真的不明白为什么我的渲染器会在这里被删除?我的方法有什么根本错误吗?

我想将不同类型的单元格渲染器应用于不同的列,但我有点跌倒在这里......帮助?

(本地我正在运行 Python 3.7.3,这是 wxPython Phoenix,版本= 4.1.1)

标签: pythonpython-3.xuser-interfacewxpython

解决方案


推荐阅读