书写笔记应用程序,使用 python 和 glade 编写的 textbuffer 中的标签保存和加载文本

书写笔记应用程序,使用 python 和 glade 编写的 textbuffer 中的标签保存和加载文本

我正在用 Python 和 glade 编写一个笔记应用程序。我一直在网上搜索如何从用 Python 和 glade 制作的简单应用程序中保存和检索带有标签的文本缓冲区。我想得到一个深入的答案,因为我刚开始了解 Python。情况如下:

文本加载正常,但再次打开我的编辑器时已应用的标签会丢失。

下面是我关于如何使用文本缓冲区将文件保存并打开到文本视图中的读写解决方案:

def on_saver_clicked(self, widget):
    print "Saved"
    start, end = self.textbuffer.get_bounds()   
    text = self.textbuffer.get_text(start, end, False)
    file = open("note.txt", "w")
    file.write(text)
    file.close()

def on_opener_clicked(self, widget):
    print "Loaded"
    file = open("note.txt", "r")
    text = file.read()
    file.close()     
    self.textbuffer.set_text(text)

关于如何保存和检索应用于文本的标签,您有什么想法吗?另外,有人能告诉我如何正确设置吗

gtk.TextBuffer.register_serialize_format?

答案1

我以前没有这样做过,但是看着gtk.TextBuffer 文档它有一个serialize()deserialize()这种方法看起来正是您所需要的。

来自文档:

该方法以 format 表示的富文本格式序列化开始和结束之间的文本部分。

相关内容