在PyGTK中设置光标位置(用于Gedit插件)

1 投票
1 回答
539 浏览
提问于 2025-04-15 19:25

我正在开发一个基于PyGTK的Gedit插件。我想弄清楚怎么通过编程来控制光标的位置。比如,我希望光标能自动跳到当前行第一个“|”(管道符)之前的位置。

有没有什么建议或者可以开始的地方?到目前为止,我一直在使用Gedit的API(就在这里),这个文档大部分内容都很有帮助,但没有提到如何操作光标的位置。

1 个回答

2

从gedit插件的API来看,gedit.DocumentGtkSourceBuffer的一个子类,而GtkSourceBuffer又是GtkTextBuffer的子类。最后这个GtkTextBuffer里有你想要的光标操作的功能。特别是,get_insert()place_cursor(where)这两个方法可以帮助你基本地移动光标。如果你想进行其他操作,比如获取当前行,你需要使用get_iter_at_mark(mark)把它转换成GtkTextIter;光标实际上就是一个特殊的GtkTextMark

撰写回答