在PyGTK中设置光标位置(用于Gedit插件)
我正在开发一个基于PyGTK的Gedit插件。我想弄清楚怎么通过编程来控制光标的位置。比如,我希望光标能自动跳到当前行第一个“|”(管道符)之前的位置。
有没有什么建议或者可以开始的地方?到目前为止,我一直在使用Gedit的API(就在这里),这个文档大部分内容都很有帮助,但没有提到如何操作光标的位置。
1 个回答
2
从gedit插件的API来看,gedit.Document
是GtkSourceBuffer
的一个子类,而GtkSourceBuffer
又是GtkTextBuffer
的子类。最后这个GtkTextBuffer
里有你想要的光标操作的功能。特别是,get_insert()
和place_cursor(where)
这两个方法可以帮助你基本地移动光标。如果你想进行其他操作,比如获取当前行,你需要使用get_iter_at_mark(mark)
把它转换成GtkTextIter
;光标实际上就是一个特殊的GtkTextMark
。