tkinter中是否有一些用于返回键的新关键字?

问题描述

我正在制作一个计算器,我绑定了=按钮以返回按键,但它不起作用。我已经将按钮绑定到一个相等的功能上,并且还单击了功能

def equal():
    if screenVal.get().isdigit():
        value = int(screenVal.get())
    else:
        try:
            value = eval(screenVal.get())
        except Exception:
            value = "Err"

    screenVal.set(value)
    screenEnt.update()


def click(event):
    global screenVal
    text = event.widget.cget("text")
    if text == "=":
        if screenVal.get().isdigit():
            value = int(screenVal.get())
        else:
            try:
                value = eval(screenVal.get())
            except Exception:
                value = "Err"

        screenVal.set(value)
        screenEnt.update()

    elif text == "C":
        screenVal.set("")
        screenEnt.update()
    else:
        screenVal.set(screenVal.get() + text)
        screenEnt.update()

    b = Button(frame,text="=",padx=10,pady=10,font="consolas 15 bold",width=3,command=equal)
    b.pack(side=LEFT)
    b.bind('<Return>',click)

有人可以帮忙吗? 我正在AMD 64上使用python 3.7.9

解决方法

public class AddScheduleActivity extends AppCompatActivity {

    private FragmentOverview fragmentOverview;
    private FragmentTodo fragmentTodo;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        //Your codes

        fragmentOverview = new FragmentOverview(new FragmentOverview.OverviewCallbacks() {
            @Override
            public void onReach() {
                setTargetView();
            }
        });
    }
}

如果运行此脚本,则import tkinter as tk root=tk.Tk() def equal(): print('equal') def click(event): print('click') b = tk.Button(root,text="=",padx=10,pady=10,font="consolas 15 bold",width=3,command=equal) b.pack(side='left') b.bind('<Return>',click) root.mainloop() 命令将按预期运行。您的问题似乎是,您无法执行equal绑定。仅当键盘焦点位于该按钮上时才会发生该事件,请尝试按Tab直到按钮具有焦点。

一种解决方案可能是将其绑定到框架,甚至更好地绑定到窗口。就像下面的例子中一样。

return