Итак, я пытаюсь написать текстовый редактор в PyGTK и первоначально использовал для этого более старый сторонний скрипт InteractivePangoBuffer из Gourmet.Несмотря на то, что он работал нормально, в нем все еще было много ошибок, которые порой раздражали в использовании, поэтому я решил написать свои собственные текстовые теги.У меня есть их отображение и в целом работает нормально, но теперь я застрял в попытке выяснить, как экспортировать их в файл при сохранении.Я видел, что у других была такая же проблема, как и у меня, хотя я не видел решений.Я не сталкивался с какой-либо функцией (встроенной или иной), которая была бы близка к фактическому получению начальной и конечной позиции каждого фрагмента текста с примененным к нему текстовым тегом, чтобы я мог его использовать.
У меня естьпридумать одну идею, которая теоретически должна работать, путем обхода текста с использованием gtk.TextBuffer.get_iter_at_offset (), gtk.TextIter.get_offset (), gtk.TextIter.begins_tag () и gtk.TextIter.ends_tag () в порядкепроверить каждый символ, чтобы увидеть, начинается ли он или заканчивается тегом, и, если это так, поставить соответствующий код.Однако это будет ужасно неэффективно и медленно, особенно для больших документов, поэтому мне интересно, есть ли у кого-нибудь лучшие решения?