使用键盘在OSX上使用GridCellChoiceEditor禁用单元格编辑

时间:2012-11-10 12:03:51

标签: wxpython

给出了使用wiki.wxpython.org组合框构建网格的示例代码。使用键盘导航网格时,无法禁用单元格编辑。按 Enter 时,下拉列表将被隐藏,但控件仍处于活动状态。按 Enter Esc Tab 没有任何效果。

Problem example

wx.ComboBox确实有一个wx.EVT_TEXT_ENTER事件,允许在“锁定”状态下处理 Enter 。那么,在处理程序中执行DisableCellEditControl应该会停止编辑吗?好吧,编辑器是隐藏的,但光标仍在隐藏编辑器中。使用 Up / Down 时可以访问下拉列表。

def on_text_enter(evt):
    self.grid1.DisableCellEditControl()

self.comboBox.Bind(wx.EVT_TEXT_ENTER, on_text_enter)

Cursor trapped inside hidden editor

1 个答案:

答案 0 :(得分:0)

这是橡皮鸭调试的另一个例子。意识到焦点仍然在组合框内,鸭子开始想知道手动恢复焦点是否能解决问题。这样做了。因此,为了将来参考,事件处理程序:

def on_text_enter(evt):
    self.grid1.DisableCellEditControl()
    self.grid1.SetFocus()

 self.comboBox.Bind(wx.EVT_TEXT_ENTER, on_text_enter)