виджет gtk TextView не обновляется во время работы

StackOverflow https://stackoverflow.com/questions/577302

  •  05-09-2019
  •  | 
  •  

Вопрос

Я новичок в графическом программировании на python и gtk, так что это вопрос для начинающих.У меня есть функция, которая вызывается при нажатии кнопки, которая выполняет различные задачи, и виджет TextView, в который я записываю после завершения каждой задачи.Проблема в том, что виджет TextView не обновляется до тех пор, пока не будет завершена вся функция.Мне нужно, чтобы он обновлялся после каждой задачи.

Это было полезно?

Решение

После каждого обновления вызова TextView

while gtk.events_pending():
  gtk.main_iteration()

Вы можете выполнить свое обновление с помощью пользовательской функции:

def my_insert(self, widget, report, text):

  report.insert_at_cursor(text)
  while gtk.events_pending():
    gtk.main_iteration()

Из часто задаваемых вопросов PyGTK:Как я могу принудительно обновлять окна приложений во время длительного обратного вызова или другой внутренней операции?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top