1

所以我正在制作一个计算器,我希望用户按下删除键来删除他们在输入字段中写入的内容,但是当我这样做时,它也会按下键盘上的小数('。')键,从而激活它自己的功能,我为此使用键盘模块

keyboard.on_press_key("delete", lambda _:CEd())

这应该激活这个功能: -

def CEd():
    global counter
    if counter ==1:
       HentryPad.destroy()
       counter = 0
    else:
     field.delete(0,END)
     Clear1.config(relief=SUNKEN)
     Clear1.after(58, lambda: Clear1.config(relief=RAISED)) 

但它也激活了这个功能:-

def Decimals():
global counter
if counter == 1:
    HentryPad.destroy()
    counter=0
    if field.get() != '':
        if upperField.get()=='OVERFLOW!!':
            upperAns.delete(0,END)
            upperField.delete(0, END)
            field.delete(0,END)
            field.insert(END,".")
        else:
            upperAns.delete(0,END)
            field.insert(END,".")
    else:
        upperAns.delete(0,END)
        field.insert(0,"0.")
else:
    if field.get() != '':
        if upperField.get()=='OVERFLOW!!':
            upperAns.delete(0,END)
            upperField.delete(0, END)
            field.delete(0,END)
            field.insert(END,".")
        else:
            upperAns.delete(0,END)
            field.insert(END,".")
    else:
        upperAns.delete(0,END)
        field.insert(0,"0.")
decimal.config(relief=SUNKEN,bg="black", fg="white")
decimal.after(58, lambda: decimal.config(relief=RAISED, bg="#262626", fg="cyan"))

我已将Decimals功能键入“。” 键盘上的键,但是当我按下键盘上的删除按钮时,它也会激活此功能,这是激活小数功能的代码:-

keyboard.on_press_key(".", lambda _:Decimals())

我可以发现没有任何与彼此的功能发生冲突的东西,请帮忙。

4

0 回答 0