我已经使用 tkinter.Text 创建了一个文本编辑器,但是我遇到了一个问题,即程序检测到用户当前所在的段落,即它检测到当前段落所在的开始和结束索引。插入点是。
我还搜索了先前提出的问题,但在tkinter.Text小部件中找不到任何与段落检测有关的内容(网络上提到的bcoz解决方案似乎仅适用于单个字符串,而不适用于tkinter中的line.column。文本小部件。)
因此,如果有人可以详细说明如何在tkinter.Text小部件中获取图形开始和结束的索引,这将非常有帮助。
提前谢谢!
答案 0 :(得分:0)
我很快写了一些对您有帮助的代码。如果不清楚,请询问。
import tkinter as tk
root = tk.Tk()
root.geometry("600x600")
tb = tk.Text(root, width=600, height=600)
tb.pack()
tags = ["red", "blue", "green", "yellow"]
now_tag = 0
tb.tag_config("red", foreground="red", background="black")
tb.tag_config("blue", foreground="blue", background="black")
tb.tag_config("green", foreground="green", background="black")
tb.tag_config("yellow", foreground="yellow", background="black")
def update_tb(event=None):
global now_tag
tb.tag_add(tags[now_tag], "{0} linestart".format(tk.INSERT), "{0} lineend".format(tk.INSERT))
now_tag = 1 + now_tag if len(tags) - 1 > now_tag else 0
root.bind('<Return>', update_tb)
root.bind('<Control_L>', update_tb)
root.bind('<Shift_L>', update_tb)
root.mainloop()