根据标记python gtk拆分文本缓冲区文本

根据标记python gtk拆分文本缓冲区文本,python,tags,split,gtk,pygtk,Python,Tags,Split,Gtk,Pygtk,我有一个带有文本缓冲区的文本视图。 我已经在文本缓冲区中添加了许多标记 buffer.get_tag_table().add(tag) 所以我想知道是否有一种方法可以从文本视图中获取所有文本,并根据它的标记进行拆分 im使用gtk 2 btw 谢谢从缓冲区开头的迭代器开始,然后用它在缓冲区中移动。向前移动到\u标记\u切换()。在每个点上,it.get\u tags()将为您提供应用于当前文本块的标记列表,buf.get\u text(it,next\u it)将为您提供文本本身: def s

我有一个带有文本缓冲区的文本视图。 我已经在文本缓冲区中添加了许多标记

buffer.get_tag_table().add(tag)
所以我想知道是否有一种方法可以从文本视图中获取所有文本,并根据它的标记进行拆分

im使用gtk 2 btw


谢谢

从缓冲区开头的迭代器开始,然后用
它在缓冲区中移动。向前移动到\u标记\u切换()
。在每个点上,
it.get\u tags()
将为您提供应用于当前文本块的标记列表,
buf.get\u text(it,next\u it)
将为您提供文本本身:

def split(buf):
    it = buf.get_start_iter()
    while not it.is_end():
        nextpos = it.copy()
        nextpos.forward_to_tag_toggle(None)
        yield buf.get_text(it, nextpos), it.get_tags()
        it = nextpos