2011-07-30 101 views
1

我無法弄清楚的是如何用Tkinter文本小部件動態標記文本範圍。 這個想法是,當用戶選擇一個文本範圍,它動態地創建一個標籤來修改樣式。 這裏是我的代碼:tkinter動態文本標記

​​

此代碼是綁定到Combobox回調函數的一部分,這樣文本大小的變化,每次變化值。

這段代碼很好用,但是如果我嘗試設計第二行文本的樣式,則需要第一行的樣式。

回答

1

如果您想爲每個範圍使用獨特的樣式,您需要使用唯一的標籤,因爲樣式信息屬於標籤而不屬於文本範圍。最簡單的方法是保存每次添加標記時增加的全局(或實例屬性)計數器,並將其用作標記名稱的一部分。

1

我是這樣做的:

tag = text_field.tag_ranges(SEL) 
i = 0 
for i in tag: 
    text_field.tag_add(i,tag[0],tag[1]) 
    text_field.tag_config(i,font = appFont) 

,你可以看到我添加了一個簡單的上的標籤去它是一個包含了SEL標籤索引的變量聲明。