使用Python中包含的格式化标签从Gtk3 TextView / TextBuffer获取文本

时间:2015-05-17 23:37:46

标签: python formatting gtk3

我正在开发一个使用Gtk3 TextView / TextBuffer来获取用户输入的Python 3项目,并且我已经让它工作到我可以让用户输入富有的地方文本,并能够将其格式化为粗体/斜体/下划线/组合。

但是,我仍然试图弄清楚如何从TextBuffer中获取包含这些标志的文本,这样我就可以在需要时使用格式化标记将文本转换为格式正确的HTML。

调用textbuffer.get_text(start, end, True)只返回没有任何标记的文本。

此处the codethe editor.glade file。将它们保存在同一目录中。

如何获得包含标志的文字?或者,有没有办法让我自动将用户的输入格式化为HTML格式的另一个变量?

1 个答案:

答案 0 :(得分:2)

这不是很容易。 Here是我曾经为RTF输出做同样事情的一些代码的链接。您可以调整它以生成HTML输出。如果你设法这样做,我可能会将它集成到该库的继任者中。

或者,如果您更喜欢上面的文本处理,您可以导出GtkTextBuffer内部序列化格式的富文本,并在以后将其转换为HTML:

format = textbuffer.register_serialize_tagset('my-tagset')
exported = textbuffer.serialize(textbuffer, format, start, end)