0

使用 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。这是为什么?

他们可能真的很容易弄清楚,但我真的不知道该怎么做。

谢谢。

4

1 回答 1

1

Tkinter Text 小部件索引看起来像一个十进制数字,但实际上是一个字符串,因此该值必须放在引号中。它由用点分隔的两部分组成:“line.column”,因此“1.9”之后的下一列是“1.10”。“2.0”是第二行的最左边一列。

于 2013-06-16T14:00:00.047 回答