0
我有一个用于存储大型网格数据的自定义wxPython表。我基于wiki和wxPython演示实现了我的实现。为了使它工作,我重写了几个GridTableBase方法。我存储我的网格数据的熊猫数据帧,所以GetColLabel看起来是这样的:在wxPython自定义表中设置列名称
class HugeTable(gridlib.GridTableBase):
....
def GetColLabelValue(self, col):
"""
Get col label from dataframe
"""
if len(self.dataframe):
return self.dataframe.columns[col]
return ''
我已经覆盖SetColLabelValue用下面的代码:
def SetColLabelValue(self, col, value):
"""
Set col label value in dataframe
"""
if len(self.dataframe):
col_name = str(self.dataframe.columns[col])
self.dataframe.rename(columns={col_name: str(value)}, inplace=True)
return ''
return ''
此代码更改列名,但它会产生此错误:
TypeError: invalid result from HugeTable.SetColLabelValue()
我不确定为什么会发生此错误。
我有两个问题。 1.如何找出预期的回报价值? 2.我如何防止此错误?
版本注:我使用wxPython的凤凰4.0.0a1在OS X
文档在这里:https://wxpython.org/Phoenix/docs/html/index.html在你的情况下,文档不会说任何关于返回值的东西,所以可能它必须是'None' –
我试过并且None创建此错误:'TypeError:无效的结果来自HugeTable.GetValue(),无法在此上下文中将NoneType转换为C/C++ wxString' –
啊,我错了。这确实有用!谢谢 –