Given the example code for building a grid with comboboxes from wiki.wxpython.org. When navigating the grid using the keyboard, there is no way to disable the cell editing. When pressing Enter, the dropdown is hidden but the control is still active. Pressing Enter, Esc or Tab does not have any effect.

The wx.ComboBox does have an wx.EVT_TEXT_ENTER event, which allows to handle Enter presses in the ‘locked’ state. So, performing a DisableCellEditControl inside the handler should stop the editing right? Well, the editor is hidden, but the cursor is still inside the hidden editor. The dropdown can be access when using Up/Down.
def on_text_enter(evt):
self.grid1.DisableCellEditControl()
self.comboBox.Bind(wx.EVT_TEXT_ENTER, on_text_enter)

Well this was another case of rubber duck debugging. Realizing that the focus was still inside the combobox, duck started wondering if restoring the focus manually would solve the problem. And that did it. So for future reference, the event handler: