Я согласен с ответом el.pescado, но вы также можете попытаться подделать его.Подсчитайте количество строк в файле, который вы редактируете.Поместите один скриншот текста в буфер и заполните остальные строки новой строкой, чтобы в буфере было столько же строк, сколько в файле.
Затем подключите к сигналу changed
регулировки по вертикали прокручиваемого окна, содержащего текстовое представление, это будет уведомлять вас при каждой прокрутке окна.Когда это произойдет, замените текст, который у вас уже был в буфере, на новые строки и загрузите раздел, который вы сейчас просматриваете.
Вы можете сказать, какие номера строк вы должны просматривать в текстовом представленииэтот код (могут быть ошибки, я делаю это из памяти и на лету перевожу на Python):
visible_rect = textview.get_visible_rect()
top = textview.get_iter_at_location(visible_rect.x, visible_rect.y)
bottom = textview.get_iter_at_location(visible_rect.x, visible_rect.y + visible_rect.height)
top_line, bottom_line = top.get_line(), bottom.get_line()