python 스크립트를 열 자마자 실행되는 pygtk 응용 프로그램이 있습니다. 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()
는 그러나 GUI가 열립니다, "상쾌하게하는"텍스트는 인쇄되지 않으며 소켓으로 보낼 때 어떤 데이터도 인쇄되지 않습니다. glib.add_idle()을 사용하여이 프로그램을 스레드하려고 시도했지만 gui가 유휴 상태 일 때만 별도의 스레드를 실행합니다 (드문 경우 임). 고맙습니다!
GUI가 완벽하게 실행되지만 데이터가 아직 새로 고쳐지지 않습니다. 아무 것도 인쇄 데이터로 인쇄되지 않기 때문에 데이터가 수신되지 않습니다. 편집 : GUI가 스레드가 전혀 실행되지 않도록하는 것 같습니다. – Lachie
해결책을 올바르게 구현해야했지만, 고마워요! – Lachie