1

我正在尝试从文本框中删除单个字符,为此我显然需要知道要删除的字符的索引。我知道每个字符都有自己的索引,例如 Fazackerley,'F' 是 1.0,'a' 是 1.1,但是当我到达第 11 个字母('y')时,它会是 1.10,对吗?但这并不是因为它删除了“a”,因为 1.10 与 1.1 相同,因为零点是无限的,即使它们看不到。那么有谁知道 1.9 之后的不是 1.10 或任何高于该数字的数字。

这是代码,如果有人想看的话。

from tkinter import *
import time
import random

class Application(Frame):
    def __init__(self, master):
        Frame.__init__(self, master)
        self.grid()
        self.widgets()

    def widgets(self):
        self.t1 = Text(width = 35, height = 5, wrap = WORD)
        self.t1.grid(row = 0, column = 0, sticky = W)
        self.count = 0
        self.coor = 1.0
        for x in range(1):
            self.t1.insert(END, 'fazackerley')
            self.count += 1
            time.sleep(0.5)
            root.update()
            self.t1.delete(1.10) #deletes 'a' (index 1.1) not 'y' 

root = Tk()
root.title()
root.geometry('250x250')
app = Application(root)
root.mainloop()

这就是所有的代码,它工作正常,直到它达到'y'。

4

1 回答 1

3

使用字符串'1.10'而不是浮点数1.10

self.t1.delete('1.10') #deletes 'y' (line 1, column 10)

请参阅有关文本小部件索引的此参考。

于 2013-07-14T18:04:37.000 回答