0

我有一个 wxTextCtrl,我让光标在 tab 键上向下移动 4 个空格。但是,如果我没有输入任何内容,那么当我按下制表符时,光标不会移动,文本也不会移动。

self.editor = wx.TextCtrl(splitter, style = wx.TE_MULTILINE)
wx.EVT_KEY_DOWN(self.editor, self.on_key_down)

def on_key_down(self, e):
    if e.GetKeyCode() == wx.WXK.TAB:
        current = self.editor.GetInsertionPoint()
        tab = current + 4
        self.editor.SetInsertionPoint(tab)
    else:
        e.Skip()

如果有人可以帮助我移动光标,即使我没有在光标前面输入任何内容,也没有在光标前面输入任何文本。

我也想在输入时让某些关键词改变颜色。如果有人可以提供帮助,我将不胜感激。

4

1 回答 1

2

尝试使用 WriteText:

def on_key_down(self, e):
    if e.GetKeyCode() == wx.WXK_TAB:
        tab = ' ' * 4
        self.editor.WriteText(tab)
    else:
        e.Skip()
于 2012-05-02T23:10:03.000 回答