wxPython Phoenix DataViewTreeControl()有“分段错误(核心转储)”

时间:2015-05-21 22:04:18

标签: python wxpython

我是wxPython的新手,我正在尝试添加DataViewTreeControl。控件出现就好了。但是,当我关联数据时,我得到Segmentation fault (core dumped)。我已经做了足够的工作来知道它每次尝试从GetValue()方法返回时都会发生。

我在Data View Model Demo之后制定了我的实施方案,我相信它已经完成了。

我已经读过,错误地尝试更新对象会导致这种错误(here),但我不相信我这样做。我没有运气就试图使用wx.CallAfter()wx.CallLater()

应用程序确实有一个工具栏和网格当前正在工作,所以我知道整个事情没有被打破。

如果我在上面的演示中离开了实现,则在尝试return mapper[col](相当于演示中的第180行)时会出现分段错误,mapper[col]的类型为{{1} }。

如果我将值转换为字符串(这是我的列数据类型设置为),那么在下面的第16行发生seg故障之前我会更进一步(我不确定这是否重要,但在这里它是):

'unicode'

我正在寻找一些关于这是否可能是线程问题的方向,或者是否可能是我实施数据模型的错误。

正如我所说的那样,直到我尝试将模型与控件关联起来。这是一个最小的非工作示例(self,在本例中是wx.Frame):

    > /usr/lib/python2.7/encodings/utf_8.py(16)decode()
     15 def decode(input, errors='strict'):
---> 16     return codecs.utf_8_decode(input, errors, True)

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

这不是一个线程问题。这是我对模型的实现。必须小心谨慎,才能在GetParent()GetChildren()函数中返回相应的数据类型(使用ObjectToItem())。

具体来说,我没有在GetParent()函数中使用{{1}} ...

非常基本的东西,但当唯一的反馈是分段错误时,它很难找到。