在 guizero 应用程序中按下 Enter 键时如何调用函数?

How to have a function called when Enter key is pressed in a guizero application?

在 python guizero 应用程序中按下 Enter 键时如何调用函数?

作为参考,我创建了一个表单,该表单从条形码扫描仪获取输入,当按下 Enter 键时,它会将输入插入数据库。

这里是 TextBox 的示例以及函数的工作原理。

def enterKeyClicked():
    dbInsert()

input = TextBox(app, width=30, align="top")

我查看了 guizero github 页面 documentation for events,但我一直没弄明白。

您可以使用文档中提到的 .when_key_pressed 在按键时调用函数。

def enterKeyClicked(event):
    if event.key == "\r":
        dbInsert()

input = TextBox(app, width = 30, align = "top")
input.when_key_pressed = enterKeyClicked

当您按下任意键时,将调用 enterKeyClicked 并将 guizero EventData object 传递给它。您可以使用事件的 .key 属性来获取按下的键的字符。如果按下的键是 Enter 那么字符是 "\r"。这是回车 return 的 python 字符,当您按 Enter 时,它会被 return 编辑。检查 Enter 键后,您可以调用 dbInsert().