У меня есть приложение pygtk, которое запускается, как только открывается мой скрипт python. Наряду с gtk.main) У меня есть поток, который запускается (в начале скрипта, который обновляет gtk.TextView() экземпляра:Как запустить отдельные потоки в pygtk
def listen(self):
while True:
print "refreshing"
data = self.socket.recv(buffer_size)
if data:
self.txtBuffer.insert(self.txtBuffer.get_end_iter(), data + "\n")
print data
thread.start_new_thread(self.listen,())
self.set_up_gui() # gtk.main()
Однако, когда я запускаю программу, графический интерфейс открывает, но текст «освежающий» не печатается, и никакие данные не печатаются при отправке в сокет. Я попытался использовать glib.add_idle() для потоковой передачи этой программы, однако это работает только при отдельном потоке, когда gui неактивен (что редко). Спасибо!
GUI работает отлично, однако данные по-прежнему не обновляются. Данные также не принимаются, потому что ничего не печатается данными печати Редактировать: Мне кажется, что графический интерфейс просто не позволяет потоку запускаться вообще – Lachie
Исправлено это, просто нужно было реализовать ваше решение правильно, большое спасибо! – Lachie