TextView
ウィンドウ内に aを配置し、mark-set
イベントを登録する次のコード例を検討してください。
#!/usr/bin/env python3
from gi.repository import Gtk
win = Gtk.Window(title='test')
text_view = Gtk.TextView()
def test (*args):
print('test!')
win.add(text_view)
text_view.get_buffer().connect('mark-set', test)
win.connect('delete-event', Gtk.main_quit)
win.show_all()
Gtk.main()
それを起動し、デバッグ出力を複数回取得したらTextView
、視覚化されたものをクリックします。
$ ./test.py 2>/dev/null
test!
test!
test!
test!
なぜこれが起こっているのか知っていますか?それを回避する方法はありますか?