任何人都可以解釋如何將語法突出顯示添加到Tkinter Text
部件?Tkinter:語法突出顯示的文本部件
每當程序找到一個匹配的單詞時,它會將該單詞按照我想要的方式着色。如:以粉色將單詞tkinter
着色,並以藍色着色in
。但是當我輸入Tkinter
時,它以黃色Tk--ter
,藍色爲in
。
我該如何解決這個問題?謝謝 !
任何人都可以解釋如何將語法突出顯示添加到Tkinter Text
部件?Tkinter:語法突出顯示的文本部件
每當程序找到一個匹配的單詞時,它會將該單詞按照我想要的方式着色。如:以粉色將單詞tkinter
着色,並以藍色着色in
。但是當我輸入Tkinter
時,它以黃色Tk--ter
,藍色爲in
。
我該如何解決這個問題?謝謝 !
您可以使用tag
來做到這一點。您可以將標籤配置爲具有特定的背景,字體,文字大小,顏色等。然後將這些標籤添加到您要配置的文本中。
所有這一切都在documentation。
使用tags。我將實施那裏給出的概念。
例子:
import tkinter as tk
root = tk.Tk()
root.title("Begueradj")
text = tk.Text(root)
# Insert some text
text.insert(tk.INSERT, "Security ")
text.insert(tk.END, " Pentesting ")
text.insert(tk.END, "Hacking ")
text.insert(tk.END, "Coding")
text.pack()
# Create some tags
text.tag_add("one", "1.0", "1.8")
text.tag_add("two", "1.10", "1.20")
text.tag_add("three", "1.21", "1.28")
text.tag_add("four", "1.29", "1.36")
#Configure the tags
text.tag_config("one", background="yellow", foreground="blue")
text.tag_config("two", background="black", foreground="green")
text.tag_config("three", background="blue", foreground="yellow")
text.tag_config("four", background="red", foreground="black")
#Start the program
root.mainloop()
演示:
但有時我輸入「print」(其中包含單詞「int」),它突出顯示「int」,藍色,其餘顯示爲黃色 –
你可能想看看[Pygments來做](http://pygments.org/docs/quickstart/) 。這比滾動你自己要容易得多。如果你仍然想嘗試修正你的版本,你可能想描述你如何找到關鍵字來突出顯示(即你的正則表達式是什麼)。 – FamousJameous