在 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
我正在使用 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