我正在编写自己的Python编辑器的应用程序。我正在使用“文本”小部件,并希望像在Python编辑器中一样键入单词时突出显示单词。键入字符#后,我要开始以红色突出显示字符#之后的所有字符。
下面是用于此目的的部分代码。当在文本小部件中键入字符#时被识别出来时,我从字符键入到行尾添加了一个“ CM”标签(我认为这样做对我有用)。
import tkinter as tk
def onmodification(event=None):
c=event.char
if not c: return
pos=hT0.index(tk.INSERT)
if c=='#':
hT0.tag_add('CM',pos,f'{int(pos.split(".")[0])}.end')
return
hW=tk.Tk()
hT0=tk.Text(hW,wrap='none',font=('Times New Roman'12))
hT0.insert('end','')
hT0.place(x=27,y=0,height=515,width=460)
hT0.bind('<Key>',onmodification)
hT0.tag_config('CM',foreground='#DD0000')
但是输出突出显示了即使没有键入字符#也仅突出显示已经存在的字符。 我想要的工作想法? 提前非常感谢您。