2012-07-03 68 views
0

我对GUI设计很陌生,很难与我的核心应用程序沟通。收到消息时更新状态栏?

我有一个线程,我用它来运行我的核心代码。它在用户点击开始按钮时启动。另一方面,我有我的gui;我希望在此过程中进行更新。

我的线程当前填充了一个队列,我想在状态栏中设置这个队列的消息。

目前,我使用:

 while not self.stopPull: 
     try: 
      print self.mess_queue.get() # would set my status bar 
     except Queue.Empty: 
      continue 

线程代码是很基本的:

while not self.stoprequest.isSet(): 
      bla()#some processing . . . 
      self.result_q.put("bla") 
      bla()#some other processing . . . 
      self.result_q.put("blabla") 

的是,这当然是阻塞。 。 。

那么,我必须创建另一个线程来收听我的队列中的新邮件,或者有什么方法在收到新邮件时产生某种中断?

再一次,我对通信过程完全无知,而且我必须错过一些基本的关键字,因为我无法在网络上找到有关该主题的文档。

谢谢你的帮忙!

+0

好了,看起来这是一个开始:http://faq.pygtk.org/index.py?req=all#20.1。添加线程似乎是有效的解决方案,然后 – jlengrand

+0

'queue.get()'有一个'nowait'选项,抛出'empty'异常_阻止。 –

回答