2011-07-30 82 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标签索引的变量声明。