0

我正在gtk.TextBuffer(跨gtk.TextView)和Sqlite3 table. 文本格式TextView正常工作,我的问题是在Sqlite3 table(文本类型字段)中保存和检索格式化文本。

基本上我将文本格式化TextBuffer如下:

class db(object):
   text_tag = 0

def format(self, constant): 
        if self.textbuffer.get_selection_bounds() != ():
            start, end = self.textbuffer.get_selection_bounds()
            self.textbuffer.apply_tag(constant, start, end)

def on_bold_btn_clicked(self, widget):
        db.text_tag = db.text_tag+1
        self.tt_bold = gtk.TextTag("bold_"+str(db.text_tag))
        self.tt_bold.set_property("weight", pango.WEIGHT_BOLD) 
        self.TextTagTable.add(self.tt_bold)

        self.format(self.tt_bold)

在表格中节省时间时,我检索格式如下的文本:

textbuffer.get_text (textbuffer.get_start_iter (), textbuffer.get_end_iter (), include_hidden_chars = True)

据我了解文档gtk.TextBuffer.get_text,如果 include_hidden_​​chars 为 False,带有标签的文本将被删除,所以当 True 时,文本会以正确的格式保存吗?

格式化文本显示对象是一个 TextView,它在运行时正确显示格式化文本,但显然,文本没有在格式化完成后保存/恢复。

有谁知道我是否忘记了什么?

谢谢你。

4

1 回答 1

0

使用序列化()

http://www.pygtk.org/docs/pygtk/class-gtktextbuffer.html#method-gtktextbuffer--serialize

于 2012-09-04T05:05:17.450 回答