質問

ほとんどのチャットプログラムの入力ボックスと同様に、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)

他のヒント

適切なイベントでトリガーしていることを確認しますか?後で接続してみてください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top