我有一个用于存储大型网格数据的自定义wxPython表。我的实现基于wiki和wxPython演示。为了使它工作,我覆盖了几个GridTableBase方法。我将网格数据存储在pandas数据框中,因此GetColLabel看起来像这样:
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.如何防止此错误?
版本说明:我在OS X上使用wxPython Phoenix 4.0.0a1。
答案 0 :(得分:0)
文档在这里:https://wxpython.org/Phoenix/docs/html/index.html。
编辑SetColLabel以返回None
而非''
修复此问题。