1

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

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 作为单词的结束索引。

我该如何找回它?

4

2 回答 2

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' 符号吗?

于 2013-10-10T06:42:31.800 回答
0

“粗体”不是有效字体的名称。您需要为其提供有效的字体描述。tkinter 带有一个tkFont模块,可让您定义字体。

于 2013-10-10T02:38:58.590 回答