質問
ほとんどのチャットプログラムの入力ボックスと同様に、Enterキーを押すとクリアされるはずのgtk.TextBufferがあります。バッファーを空の文字列に戻すだけです。ただし、Enterの改行文字は削除されず、次の入力中にカーソルの上に空白行が表示されます。最初のgtk.Iterにカーソルを移動しても役に立ちません。
解決
デフォルトでは、" 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)
他のヒント
適切なイベントでトリガーしていることを確認しますか?後で接続してみてください。
所属していません StackOverflow