2010-07-17 114 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