Tkinter:如何获取特定单词的索引?

时间:2013-10-09 21:59:15

标签: python tkinter

我已经解决了以前的问题。 现在,当我插入文本时,它会从我需要的单词变为粗体,直到整个文本的结尾。如何仅突出显示单词?

self.text.insert('1.0', text)
self.text.grid()
tag_pos = self.text.search(word, '1.0')
self.text.tag_add('bold', tag_pos, END)
self.text.tag_configure('bold', font='TkDefaultFont 9 bold')

“self.text.tag_add('bold',tag_pos,END)”需要END作为单词的结束索引。

如何检索它?

2 个答案:

答案 0 :(得分:1)

我找到了解决方案:

start = '1.0'
    while 1:                
        tag_start = self.text.search(word, start, stopindex=END, regexp=True)                
        if not tag_start: break
        tag_end = '%s+%dc' % (tag_start, len(word))
        self.text.tag_add('bold', tag_start, tag_end)
        self.text.tag_configure('bold', font='TkDefaultFont 9 bold')
        start = tag_start + "+1c"

有人可以解释'%s +%dc'和'+ 1c'表示法吗?

答案 1 :(得分:0)

“bold”不是有效字体的名称。你需要给它有效的字体描述。 tkinter附带一个tkFont模块,可让您定义字体。