如何在wxPropertyGrid中捕获每个按键的事件

时间:2011-08-10 13:19:24

标签: python wxpython wxwidgets

在wxPython中,我正在尝试更新现有的UI以使用wxPropertyGrid而不是单个UI元素的数组。目前,基础对象模型已更新,并在每次按键后应用验证,我想对PropertyGrid执行相同的操作。

我遇到的问题是似乎不存在wxPropertyGridEvent,它在每个键击上触发,如wx.EVT_TEXT,最接近的是EVT_PG_CHANGED,但只有当你在网格中的行之间进行更改时才会触发。我可以通过将wx.EVT_TEXT绑定到PropertyGrid来解决这个问题,但是我无法使用event.GetProperty()来访问属性数据,因为事件不是PropertyGridEvent。

所以问题是我错过了什么,是否存在我可以使用的现有事件?没有关于如何解决这个问题的任何想法?

1 个答案:

答案 0 :(得分:0)

事实证明,您可以通过直接绑定到文本ctrl来捕获EVT_CHAR事件。由于文本ctrl仅在选择属性时创建,但在设置网格时无法执行此操作,而是必须在EVT_PG_SELECTED事件之后绑定它。