将键盘键绑定到函数 - Python KeyListener

问题描述 投票:1回答:1

“你按下了Enter键!”

每当我按下键(z)时,应执行以下功能:

#Pseudocode:
bind(<Enter>, function_x)

我目前正在研究一个python程序,它将以恒定循环运行。它只在控制台上运行(没有GUI),但我仍然需要能够随时与程序交互而无需程序要求输入。

python python-3.x listener key-bindings
1个回答
0
投票

几个模块解决了这个问题

Pynput(pip install pynput

用于处理和控制一般输入的简单模块

from pynput import keyboard
from pynput.keyboard import Key

def on_press(key):
    #handle pressed keys
    pass

def on_release(key):
    #handle released keys
    if(key==Key.enter):
        function_x()

with keyboard.Listener(on_press=on_press,on_release=on_release) as listener:
    listener.join()

(见pynput docs


键盘(pip install keyboard

一个用于模拟和处理键盘输入的简单模块

keyboard.add_hotkey('enter', lambda: function_x())

(见Keyboard docs


Tkinter的

集成的UI模块,可以跟踪聚焦线程上的输入

from tkinter import Tk
root = Tk() #also works on other TK widgets
root.bind("<Enter>", function_x)
root.mainloop()

请注意:这些解决方案都以某种方式使用线程。在开始侦听密钥后,您可能无法执行其他代码。

有用的主题:KeyListenersBinding in Tkinter

随意添加更多解决方案

© www.soinside.com 2019 - 2024. All rights reserved.