2010-07-17 130 views
2

所以我想在PyGTK中编写一个富文本编辑器,并且最初使用了来自Gourmet的旧的第三方脚本InteractivePangoBuffer来执行此操作。虽然它运作良好,但它仍然存在大量的错误,这使得有时使用它变得令人沮丧,所以我决定写我自己的利用文本标签。我有他们显示和一般工作正常,但现在我坚持试图找出如何将它们导出到文件时保存。我看到其他人也遇到了同样的问题,尽管我没有看到任何解决方案。我还没有遇到任何函数(内置或其他),它接近实际获得每个文本的起始和结束位置,并应用了文本标签,以便我可以使用它。将gtk.TextTags保存到文件?

通过利用gtk.TextBuffer.get_iter_at_offset(),gtk.TextIter.get_offset(),gtk.TextIter.begins_tag()和gtk.TextIter(),我已经想出了一个理论上应该起作用的想法。 .ends_tag()为了检查每个字符以查看它是否开始或结束一个标记,如果是,则输入适当的代码。这将是非常低效和缓慢的,尤其是在大型文档上,但是,我想知道是否有人有更好的解决方案?

回答

0

您或许可以使用gtk.TextIter.forward_to_tag_toggle()。即循环遍历所有标签,并为每个标签扫描缓冲区以找到切换位置。

+0

谢谢,这对我来说!简直不敢相信我错过了!现在我已经很有效地保存了工作。如果有人关心我的工作,请看这里:http://pastebin.com/A3SpdV4z – Smartboy 2010-07-18 01:57:42