我对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")
事实上,这当然是封锁的。 。
那么我是否必须创建另一个线程来侦听我的队列中的新消息,或者是否有办法在拉出新消息时出现某种中断?
再一次,我对沟通过程完全无知,我必须错过一些基本的关键词,因为我在网上找不到关于这个主题的文档。
谢谢你的帮助!
答案 0 :(得分:0)
为了使GUI无阻塞,必须使用线程。
pygtk常见问题解答中有一部分致力于此: http://faq.pygtk.org/index.py?req=all#20.1