2009-06-24 12 views
1

私はgtk.TextBufferを持っています。このgtk.TextBufferは、ほとんどのチャットプログラムの入力ボックスと同様に、Enterキーを押した後にクリアされるはずです。私はバッファを空の文字列に戻すだけです。 Enterからの改行文字は削除されず、空白行は次の入力時にカーソルの上になります。最初のgtk.Iterにカーソルを移動することは役に立ちません。gtk.Textbufferから改行文字を取り除く

答えて

2

デフォルトでは、デフォルトハンドラの前に"gobject.connect()"コールバックが呼び出されます。 "gobject.connect_after()"を使用する必要があります。

def insert_text_cb(text_buffer, position, text, lenght): 
    if text == '\n': 
     text_buffer.set_text('') 

text_view = gtk.TextView() 
text_view.get_buffer().connect_after('insert-text', insert_text_cb) 
+0

ありがとうございました。 – wodemoneke

1

本当に適切なイベントが発生していますか?後に接続してみてください。

関連する問題