0

私は wxTextCtrl を持っていて、カーソルをタブキーの下に 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 に答える