pygtk应用程序中的单独线程

pygtk应用程序中的单独线程,第1张

pygtk应用程序中的单独线程

首先,不要继承

threading.Thread
,使用
Thread(target=callable).start()

其次,很可能导致您明显的阻塞的原因是它

gtk.main_iteration
采用了一个
block
默认值为的参数
True
,因此
gtk.main_iteration
,在没有要迭代的事件时,对的调用实际上会阻塞。可以用以下方法解决:

gtk.main_iteration(block=False)

但是,没有真正的解释为什么您会使用此被黑客入侵的循环而不是实际的gtk主循环。如果您已经在主循环中运行此程序,那么我建议您做错了事。如果您给我们更多细节和/或完整示例,我可以扩展您的选择。

第三,也只有这一点上来后:永远永远 永远 永远 确保你已呼吁

gtk.gdk.threads_init
与任何线程应用PyGTK的。GTK
+在运行线程时具有不同的代码路径,因此需要知道如何使用它们。

我写了一篇关于pygtk和线程的小文章,为您提供了一个小的抽象,因此您不必担心这些事情。该帖子还包含进度条示例。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4918616.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-12
下一篇 2022-11-12

发表评论

登录后才能评论

评论列表(0条)

保存