0

ユーザーに入力を求めるアプリケーションがあります(wx Python)。TextCtrl の内容を制御したいので、wx.EVT_CHAR というイベントを追加しました。現在入力されている文字の位置が欲しいことを除いて、機能は正常に動作します。

キャラクターを 1 か所だけにしたいとしましょう。その位置が必要です。それは私の問題です。

    def handle_keypress(self, event, entry):
        key = event.GetKeyCode()
        keycode = [1,2,3,4,5,6] #example

        bool = False
        for char in keycode:
            if key == char:
                bool = True
                break

        if bool == True:
            event.Skip()

thx、皆さんが私を助けてくれることを願っています!

PS: 下手な英語でごめんなさい:(

編集:問題は解決しました!

EVT_CHAR に問題があると思います: http://www.wxpython.org/docs/api/wx.KeyEvent-class.html

しかし、そうではありません。TextCtrl にありました: http://www.wxpython.org/docs/api/wx.TextCtrl-class.html

メソッド GetInsertionPoint() が機能しました!

4

1 に答える 1

1
self.text_ctrl.GetInsertionPoint()

私はあなたが望むものだと思います

あなたの例では、「CCC」は常に0を返しますが、これはカラットの実際の位置を返す必要があります

于 2012-11-05T23:42:04.137 に答える