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

问题是,这当然是阻塞的。. .

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

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

谢谢你的帮助!

4

1 回答 1

0

为了使 GUI 成为非阻塞的,必须使用线程。

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

于 2013-01-14T13:23:36.157 回答