在 python 3 中删除 Tkinter 条目小部件中光标左侧的字符

Remove a character on the left of the cursor in Tkinter entry widget in python 3

我想制作一个程序,当我点击一个按钮时,它会清除输入小部件中光标左侧的一个字符。

这是我尝试过的:

import tkinter as tk


def clear_one(entry_field):
    from tkinter import END
    current = entry_field.get()
    current = str(current)
    cleared = current[:-1]
    entry_field.delete(0, END)
    entry_field.insert(0, cleared)


root = tk.Tk
e = tk.Entry()
e.grid(row=0, column=0)
e.focus()

b = tk.Button(text="Clear", command=lambda: clear_one(e))
b.grid(row=1, column=0)

tk.mainloop()

它只是删除了输入小部件中的最后一个字符,当我将光标移动到另一个位置并单击按钮时,它仍然删除了输入小部件中的最后一个字符。

但是我想让它删除光标左边的字符。

我没有在网上找到任何合适的解决方案,可能是因为我是编程新手,所以无法理解这些解决方案。

谁能帮我解决这个问题?

如果要删除光标左边的字符,确定光标的位置,减一,然后删除那个字符。

def clear_one(entry_field):
    insert = entry_field.index("insert")
    entry_field.delete(insert-1)