我正在尝试在使用tkinter时在python中找到索引,并且我一直遇到这个问题。我知道行索引从1开始,列索引从0开始,但是当我尝试在1.9之后找到索引时,我不能,因为在1.9之后成为2.0是有意义的,但事实并非如此。例如
self.t1 = Text(self, width = 35, height = 5, wrap = WORD)
self.t1.grid(row = 0, column = 0, sticky = W)
self.t1.insert(1.0, 'Q')
self.t1.insert(1.1, 'W')
self.t1.insert(1.2, 'E')
self.t1.insert(1.3, 'R')
self.t1.insert(1.4, 'T')
self.t1.insert(1.5, 'Y')
self.t1.insert(1.6, 'U')
self.t1.insert(1.7, 'I')
self.t1.insert(1.8, 'O')
self.t1.insert(1.9, 'P')
self.t1.insert(1.?, 'A') #What index comes after 1.9 but not 2.0
#because that would mean it'd be on a new line.
self.t1.get(1.?, 1.?) #I'm not sure what index I'm looking for to find 'A'
当我尝试使用3个小数点时,例如1.01
。它工作正常,但当我到1.08
作为索引时,我收到此错误:
self.tk.call((self._w, 'insert', index, chars) + args)
_tkinter.TclError: bad text index "1.08"
1.09
也出现了同样的错误,但1.10
没有。这是为什么?
他们可能很容易搞清楚,但我真的不知道该怎么做。
感谢。
答案 0 :(得分:1)
Tkinter Text小部件索引看起来像一个十进制数字,但实际上是一个字符串。它由两个用点分隔的部分组成:“line.column”,因此“1.9”之后的下一列是“1.10”。 “2.0”是第二行的最左列。