如何获取绑定键不输入“输入”框

时间:2014-03-16 12:22:11

标签: python python-3.x tkinter diacritics tkinter-entry

我有一个我想输入的程序,例如,当在条目框中输入g ^时,ĝ。 我有ĝ出现,但似乎无法摆脱已输入的^的输入框(是的,我尝试使用删除功能)。据我所知,^在绑定函数发生之后才会输出^,这意味着如果我尝试索引"^""/",它实际上并没有被输出爱好。

from tkinter import *
tk = Tk()
entry = Entry(tk)
entry.pack()
entry.bind("^", lambda x: accent(entry, "^"))
entry.bind("/", lambda x: accent(entry, "/"))

def accent(object, accent):
    global entry
    letter = entry.get()[len(entry.get())-1]
    entry.delete((len(entry.get())-1), len(entry.get()))
    if accent == "^":
        if letter == "a":
            entry.insert(END, "â")
        if letter == "g":
            entry.insert(END, "ĝ")
    if accent == "/":
        if letter == "a":
            entry.insert(END, "á")

1 个答案:

答案 0 :(得分:1)

你的绑定需要返回"break",告诉tkinter停止对事件的任何进一步处理。返回"休息"将阻止插入角色。