Рассмотрим следующий пример кода, который помещает TextView
в окно и регистрирует событие 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!
Вы знаете, почему это происходит? Есть ли способ избежать этого?