wxPyTextDataObject 与拖放导致额外字符问题

2024-06-28 19:48:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我在用wx.PyTextDataObject作为wxPython中拖放设置的数据对象。当用户选择要拖动的项目时,文本将复制到wx.PyTextDataObject在drop中,PyTextDataObject被复制到另一个对象中(这是wx内部的,我不控制它)。我遇到的问题是,有时复制的文本最后会包含一些垃圾。它看起来像wx中的某种缓冲区溢出问题。在

我把问题缩小到下面的例子。示例中的字符串来自一个我们遇到问题的用例,去掉一个字母就没有问题了。在

>>> import wx
>>> src = wx.PyTextDataObject(u'HR7984,HR8488,HR8893,HC7984,HC8488,HC8893,PO7984,PO8488,PO8893')
>>> dst = wx.PyTextDataObject()
>>> dst.SetData(src.GetDataHere())
True
>>> dst.GetText()
u'HR7984,HR8488,HR8893,HC7984,HC8488,HC8893,PO7984,PO8488,PO8893\u1f00x'
>>> src.GetText()
u'HR7984,HR8488,HR8893,HC7984,HC8488,HC8893,PO7984,PO8488,PO8893'
>>> 

以前有人经历过这种错误吗?有什么问题吗?如果它在wxWidgets中,我想找到一个补丁。在

我的设置是 OSX、python 2.7、wx 2.8.12.1(mac unicode)Carbon。在


Tags: 对象文本srcdstwxpytextdataobjecthr8893hc8488