0
您好我正在製作一個程序,可以將不同的屬性應用於使用iters的文本小部件中鍵入的文本。然後根據iters分割該文本並傳遞給外部程序。GTK獲取iter名稱和它應用於的文本
但是,我只能得到應用的第一個iter,並且無法獲得任何後續iters。
例如。 (粗體)您好(粗體)(斜體)您好(斜體)
其中(粗體)和(斜體)代表iters。然而,下面的代碼只能識別(粗體)你好(粗體)和存儲(粗體)在tagList中,你好在textList中。將標籤名稱附加到tagList時,它會引發列表索引超出範圍錯誤。無論如何解決這個問題?
def splitTextMarkup(self):
it =buff.get_start_iter()
tagList=[]
textList=[]
while not it.is_end():
nextpos=it.copy()
nextpos.forward_to_tag_toggle(None)
textList.append(it.get_text(nextpos))
tagList.append(it.get_tags()[0].props.name)
it=nextpos
return tagList,textList