【发布时间】:2020-05-20 06:50:21
【问题描述】:
我实际上是在尝试制作一个 Python 编码编辑器,为此我需要制作一个颜色编码系统。例如:'def', 'or', 'if', 'elif', 'else', 'import' 等应该是不同的颜色,因为它们是命令。像这样的:
from tkinter import *
import threading
def colorcommands():
while True:
a = textArea.get(0.0, END)
for f in ["def", "or", "and", "if", "import", "else"]:
textArea.replace(f, (f, fg="red"))
master = Tk()
textArea = Text()
textArea.pack()
threading.Thread(target=colorcommands).start()
master.mainloop()
但显然这给了我一个错误,因为没有这样的命令。谁能帮帮我?
【问题讨论】:
-
0.0是无效索引有两个原因。第一个字符是"1.0",索引应该是字符串。0.0有效,因为 tkinter 会将其转换为"1.0",但使用浮点数在技术上是不正确的。 -
您的问题不清楚。标题说你想替换文本,但正文说你想突出显示文本。
标签: python python-3.x tkinter tkinter-text