我有一个 pygtk 应用程序,它会在我的 python 脚本打开后立即运行。除了 gtk.main() 我还有一个在脚本开头启动的线程,它刷新了一个 gtk.TextView() 实例:
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 空闲时运行单独的线程(这是不常见的)。谢谢!