如何在tkinter文本框中获取段落的起始位置和结束位置



我已经用tkinter.text创建了一个文本编辑器,我的程序检测当前用户所在的段落,即检测当前插入点所在段落的起始和结束索引。

我还搜索了以前提出的问题,但在tkinter中找不到任何关于段落检测的参考。文本小部件(网络上提到的bcoz解决方案似乎适用于单个字符串,而不是像tkinter.Text小部件中那样适用于line.column。(

因此,如果有人能详细说明如何在tkinter中获得pargraph的开始和结束的索引,那将是非常非常有帮助的。文本小部件

提前感谢!

我很快写了一些代码,应该会对您有所帮助。如果有什么不清楚的地方,问。

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()

最新更新