Python wxTextCtrl在tab键上移动文本4空格?

时间:2012-05-02 21:51:05

标签: python wxpython wxtextctrl

我有一个wxTextCtrl,我让光标在tab键上移动4个空格。但是,如果我没有输入任何内容,当我按Tab键时,光标不会移动也不会显示文本。

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()

如果我没有在光标前面输入任何内容以及光标前面的任何文字,有人可以帮助我移动光标。

此外,我想在输入时获得某些关键词来改变颜色。如果有人可以提供帮助,我会非常感激。

1 个答案:

答案 0 :(得分:1)

尝试使用WriteText:

def on_key_down(self, e):
    if e.GetKeyCode() == wx.WXK_TAB:
        tab = ' ' * 4
        self.editor.WriteText(tab)
    else:
        e.Skip()