如何从 Tkinter 文本框中获取索引

use*_*425 2 python tkinter

我希望能够从 Tkinter 文本框中突出显示的文本中获取索引(如 1.1 ...),有什么想法吗?

Bry*_*ley 7

所选文本具有标签“sel”。所选文本的开始和结束范围由"sel.first"和定义"sel.last"。如果要获取文本,可以直接使用它们,如下所示:

chars = the_text_widget.get("sel.first", "sel.last")
Run Code Online (Sandbox Code Playgroud)

相反,如果您想要数字索引,则可以使用index将任何索引转换为其规范形式的方法:

s0 = the_text_widget.index("sel.first")
s1 = the_text_widget.index("sel.last")
Run Code Online (Sandbox Code Playgroud)

注:Tkinter的模块定义一些常量,这些:SEL_FIRSTSEL_LAST,但我个人认为没有理由使用这些常量。使用它们的对应字符串同样简单,并有助于强化选择只是另一个没有任何特殊属性的标签的概念。