如何通过按某个键盘键关闭 tkinter mainloop

How do I close a tkinter mainloop by pressing some keyboard key

我想请教两个相关的问题。主要的:

我想打开一个条目,输入一些文本,然后我希望程序在我按下 Enter 键时继续运行。

但是,我发现唯一解决 tk mainloop 问题的方法是添加一个我最常点击的 'ok' 按钮。

由于想法是使用快速弹出 window 来检索一些信息并移动一个,因此点击要求非常不幸。

第二期是:

我希望输入框弹出在我屏幕上其他所有内容的前面...这可能吗?我对编程很陌生,所以我没有研究第二个问题。我使用 Jupyter notebook 来 运行 这段代码,我不知道我是否应该为它编译我的代码以更好地与用户界面交互。

谢谢!

master = tkinter.Tk()
e = tkinter.Entry(master)
e.pack()
def callback():
    global fa
    fa=e.get() # This is the text you may want to use later
    master.destroy()
b = tkinter.Button(master, text = "OK", width = 10, command = callback)
master.mainloop()

该代码没有错误。创建全局变量'fa',然后主循环'destroyed'。如前所述,问题在于它需要用户单击确定按钮

这只是一些基本的 tkinter 绑定。当您按下箭头键时,三角形会移动。希望这有帮助。

from tkinter import *
from tkinter import Canvas

tk = Tk()
canvas = Canvas(tk, width=400, height=400)
canvas.pack()
canvas.create_polygon(10, 10, 10, 60, 50, 35, fill='blue')  # This is the triangle


def movetriangle(event):
    if event.keysym == 'Up':
        canvas.move(1, 0, -3)
    elif event.keysym == 'Down':
        canvas.move(1, 0, 3)
    elif event.keysym == 'Left':
        canvas.move(1, -3, 0)
    elif event.keysym == 'Right':
        canvas.move(1, 3, 0)
canvas.bind_all('<Key>', movetriangle)
tk.mainloop()