在 Tkinter 文本小部件中搜索标签

searching for tags in Tkinter Text widget

我正在使用 tkinter 文本小部件来显示 gerber 代码文件的内容。 该程序在 raspberry pi 上运行,并通过串行向机器发送代码,一次一行文本。

我设置当前活动行如下:

class TextEditor(tkinter.Text):
def __init__(self, tkRoot):
    ...
    self.tag_configure("activeLine", background="#87e8ed")# set the colour used for activeLine

def setLine(self, lineNumber):
    self.tag_remove("activeLine", "1.0", "end")
    self.tag_add("activeLine", str(lineNumber)+".0 linestart", str(lineNumber)+".0 lineend+1c")

def getLine(self):
    pass # need to return the activeLine line number

一次只能有一行用“activeLine”突出显示,所以第一个实例就可以了。

我可以在对 setLine 的调用中存储一个变量并在 getLine 中读回它,但我不希望对文本进行任何编辑,它可能会从接收器中消失

我注意到使用 IDLE 调试器使用的原理与我在这里尝试实现的设置断点的原理相同,是否可能,如果可以,我应该从哪里开始寻找 IDLE 源代码来研究它是如何实现的在那里实现了,我目前正在 Ubuntu 18.04 桌面上写这篇文章我不想从

搜索 IDLE 源的最佳方法

任何帮助将不胜感激,我对 python 和 tkinter 很陌生,因为我通常是 windows dot.net 程序员,但我现在正在学习使用 Linux

我现在找到了我自己问题的答案

像这样列出以“tag_”开头的文本小部件的所有功能:

d = dir(self.tkRoot.text)
for dv in d:
    s = str(dv)
    if s.startswith("tag_"):
        print(dv)

我找到了方法“tag_ranges(name)” returns 我这个

(<文本索引对象: '5.0'>, <文本索引对象: '6.0'>)

调用当前线路时为5