0

gtk.TextBuffer(全体gtk.TextView) との間にテキストの書式設定を実装していますSqlite3 table。テキストの書式設定TextViewは正常に機能しています。私の問題は、書式設定されたテキストをSqlite3 table(TEXT タイプ フィールド) に保存して取得することです。

基本的に、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

serialize() を使用する

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

于 2012-09-04T05:05:17.450 に答える