收到消息时更新状态栏?

时间:2012-07-03 21:08:56

标签: python pygtk glade

我对GUI设计很陌生,并且很难与我的核心应用程序进行通信。

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

My Thread当前填充了一个Queue,我想在状态栏中设置此Queue的消息。

目前,我使用:

     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")

事实上,这当然是封锁的。 。

那么我是否必须创建另一个线程来侦听我的队列中的新消息,或者是否有办法在拉出新消息时出现某种中断?

再一次,我对沟通过程完全无知,我必须错过一些基本的关键词,因为我在网上找不到关于这个主题的文档。

谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

为了使GUI无阻塞,必须使用线程。

pygtk常见问题解答中有一部分致力于此: http://faq.pygtk.org/index.py?req=all#20.1