突出顯示Tkinter 文字小部件中的文字
問題:
問題:是
答案:是的,文字小部件非常適合此目的。透過將標籤指派給文字範圍並將這些標籤套用至符合模式,您可以實現語法突出顯示。
使用自訂文字小工具:<code class="python">class CustomText(tk.Text): def __init__(self, *args, **kwargs): tk.Text.__init__(self, *args, **kwargs) def highlight_pattern(self, pattern, tag, start="1.0", end="end", regexp=False): start = self.index(start) end = self.index(end) self.mark_set("matchStart", start) self.mark_set("matchEnd", start) self.mark_set("searchLimit", end) count = tk.IntVar() while True: index = self.search(pattern, "matchEnd", "searchLimit", count=count, regexp=regexp) if index == "": break if count.get() == 0: break self.mark_set("matchStart", index) self.mark_set("matchEnd", "%s+%sc" % (index, count.get())) self.tag_add(tag, "matchStart", "matchEnd")</code>
您可以擴充 Text 類別使用自訂方法來反白與給定模式相符的文字。以下範例說明了此方法:
使用範例:<code class="python">text = CustomText() text.tag_configure("red", foreground="#ff0000") text.highlight_pattern("this should be red", "red")</code>
以上是如何在 Tkinter 文字小工具中根據模式突出顯示文字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!