我有一个显示滑块的基本程序。我理解他们使用基于事件的回调的概念。我想要做的是说更新图像,或者在没有用户交互的情况下自动更新日志,所以它基本上就是一直调用这个事件。我不确定是否有回调,但任何建议都会受到赞赏。
答案 0 :(得分:4)
如果我理解你,你可以使用gobject.timeout_add
来做到这一点。
答案 1 :(得分:3)
这看起来像是轮询,这很糟糕,因为它耗费资源。事实上,您仍然应该使用事件,因为应该在图像发生变化时触发应该触发更新的事件。
如果你想在后台执行东西,可能你想要的是一个空闲的事件处理程序,每当程序没有更多的事件要处理时就会运行它。请使用g_idle_add
。
如果你想要的是执行一个动作,比如每5秒钟一次,那么就像Jeremy提出的那样使用计时器事件。您应该使用g_timeout_add_seconds
一段时间的多倍(它可以避免无故唤醒CPU,这对于良好的电源管理非常有用),或g_timeout_add
毫秒的粒度。