Wxpython 如何获取wx PropertyGrid以允许IntProperty为null/None

Wxpython 如何获取wx PropertyGrid以允许IntProperty为null/None,wxpython,Wxpython,提到任何你可以打电话的地方。他们说这应该: 通过修改编辑器控件的值(通常通过清除它),将属性的值更改为“未指定”。目前,这可以用于以下属性:wxIntProperty、wxUIntProperty、wxFloatProperty、wxedItemProperty 但是,为IntProperty设置该属性不起作用;清除它并将鼠标移离单元格会导致它恢复到以前的值,或者显示一条迷人的消息:您输入了无效值。按ESC键取消编辑 我可以将值初始设置为None,但如何允许用户清除它?我最终创建了自己的自定义属

提到任何你可以打电话的地方。他们说这应该:

通过修改编辑器控件的值(通常通过清除它),将属性的值更改为“未指定”。目前,这可以用于以下属性:wxIntProperty、wxUIntProperty、wxFloatProperty、wxedItemProperty

但是,为
IntProperty
设置该属性不起作用;清除它并将鼠标移离单元格会导致它恢复到以前的值,或者显示一条迷人的消息:您输入了无效值。按ESC键取消编辑


我可以将值初始设置为
None
,但如何允许用户清除它?

我最终创建了自己的自定义属性和编辑器。这并不完美,但它确实有效

类NullableIntEditor(propgrid.PyTextCtrlEditor):
注册=假
定义初始化(自):
propgrid.PyTextCtrlEditor.\uuuu init\uuuu(self)
def CreateControls(self、propGrid、property、pos、sz):
#创建和填充按钮子窗口
wnd=self.CallSuperMethod(“CreateControls”、propGrid、property、pos、sz)
wnd.Bind(wx.EVT_CHAR,self.OnChar)
返回wnd
def OnChar(自身、事件):
char_code=event.GetUnicodeKey()
如果不是字符码或字符码

在Windows和GTK上使用标准wxPython演示版的PropertyGrid演示版进行测试……设置验证程序似乎要么什么都不做,要么崩溃。我可能做错了:(