我有一个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()
如果我没有在光标前面输入任何内容以及光标前面的任何文字,有人可以帮助我移动光标。
此外,我想在输入时获得某些关键词来改变颜色。如果有人可以提供帮助,我会非常感激。
答案 0 :(得分:1)
尝试使用WriteText:
def on_key_down(self, e):
if e.GetKeyCode() == wx.WXK_TAB:
tab = ' ' * 4
self.editor.WriteText(tab)
else:
e.Skip()