我是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)
感谢您的帮助!
答案 0 :(得分:0)
这不是一个线程问题。这是我对模型的实现。必须小心谨慎,才能在GetParent()
和GetChildren()
函数中返回相应的数据类型(使用ObjectToItem()
)。
具体来说,我没有在GetParent()
函数中使用{{1}} ...
非常基本的东西,但当唯一的反馈是分段错误时,它很难找到。