如何删除 tkinter Entry 小部件中的当前条目

How to delete the current entry in tkinter Entry widget

我正在使用 tkinter 编写 python 代码来构建基本计算器。使用 Entry 小部件,delete 方法清除 Entry 小部件中的所有条目。如何在不清除整个条目的情况下删除当前条目。

from tkinter import *
root = Tk()
entry = Entry(root)
entry.pack()
# this deletes all the entries
entry.delete(0,END)

从文档中我读到了有关 Entry 小部件删除方法的信息 delete(first, last=None),如果省略第二个参数,则仅删除单个条目第一个位置被删除。 我尝试了下面的代码,小部件中的第一个条目是删除。

entry.delete(0)

我尝试了下面的代码,希望小部件中的当前条目应该被删除,而不是执行上面执行的相同操作。

entry.delete(-1)

请问我错过了什么?

据我所知,条目小部件不允许负索引。

但是你可以询问Entry widget end is what index,然后从最后一个位置删除:

entry.delete(entry.index(END)-1)

将删除最后一个字符。