我在_init回调函数中执行了一个耗时的处理。因此,在GUI处,当我激活检查按钮时,程序冻结,同时处理运行完成,然后出现复选标记并且执行恢复正常。
self.init = gtk.CheckButton("Init", False)
self.init.connect("toggled", self._init)
def _init(self, w):
....
如何在处理过程中使GUI更具响应性?
有没有办法让GUI在开始时改变复选框的状态,然后进入重循环?
答案 0 :(得分:2)
您有几种解决方案:
我给你的例子是C语言,但是python中的精神是一样的。
答案 1 :(得分:-1)
在处理程序中,将init的其余部分注册为idle-handler并返回。 gtk.idle_add
IIRC。这样它将在处理gui事件后运行。检查文档以查看需要返回的值,以便不再重新启动该功能。