tkinter 中的键绑定 Python

Keybinding in tkinter Python

如果我在键盘上输入“*”,它应该在输入字段中输入为 'x'。下面是示例代码。我是 tkinter 的新手。

from tkinter import *
def func(number):
    x = str(e1.get())
    e1.delete(0, END)
    e1.insert(0, str(x) + str('x'))
    
main = Tk()
main.geometry('200x50')
e1=Entry()
e1.bind('*',func)
e1.pack()
main.mainloop()

我得到 'x*'。但我只需要在输入字段中输入 'x'。任何建议都会很有帮助。

需要忽略func()末尾返回'break'输入的*字符。如果输入光标不在输入字符串的末尾,您的逻辑也将不起作用。

下面是修改后的 func():

def func(event):
    # add the "x" at the insertion position
    event.widget.insert('insert', 'x')
    # ignore the entered "*" character
    return 'break'