从文本框中删除字符串不起作用python

时间:2014-07-10 04:22:33

标签: python string text field

我正在尝试从文本框中删除一个字符串。

但是我收到了以下错误:

TclError: bad text index "3"

以下是代码:

self.keys = "Bye"
def undo(self):
    I = self.Cont.search(self.keys,1.0,stopindex=END)
    self.Cont.delete(I,len(I))

1 个答案:

答案 0 :(得分:0)

我假设您正在使用TkInter和Text小部件。

如果是这样,那么delete()方法需要两个文本索引值,但是你给它一个索引和len()索引字符串,这是没有意义的。

我想你想要这样的东西:

def undo(self):
    countVar = IntVar()
    I = self.Cont.search(self.keys, 1.0, stopIndex=END, count=countVar)
    self.Cont.delete(I,'%s+%d chars' %(I, countVar.get()))

count参数告诉search将匹配长度存储到IntVar对象中,然后可以使用.get()方法检索该对象。

然后,delete()方法将获得一个结束索引,如:"1.0 + 3 chars",它应该识别刚好超过'

的位置。