我正在为 Gedit 开发一个插件。
import gedit
class ReloadOnSave(gedit.Plugin):
def __init__(self):
gedit.Plugin.__init__(self)
def activate(self, window):
for view in window.get_views():
self.connect_handlers(view)
def connect_handlers(self, view):
print 'Reached here' // This doesnt happen on Gedit startup.
发生的情况是,当我打开 gedit(打开任意数量的选项卡)时,我看不到“到达这里”。但是,如果我进入插件菜单,并禁用和重新启用我的插件,我将打印“到达这里”(打开多少个标签就多少次)
我还需要 get_views(),因为我需要使用“已保存”事件处理程序。(最终我在保存文档时尝试做一些事情)
那么,为什么第一次打开 Gedit 时 window.get_views() 不返回任何视图?(并且只有在我禁用和重新启用插件时才会这样做)
此外,如果我执行“打印 window.get_views()”,也会发生同样的事情。它将打印一个空列表,但如果它禁用/重新启用插件,我会得到一个包含所有视图的列表。