📅  最后修改于: 2023-12-03 15:38:35.833000             🧑  作者: Mango
在编写Python程序时,有时候需要为某些操作绑定快捷键,以方便用户使用。本文将介绍如何在Python中创建热键。
keyboard模块可以用于监听和发送键盘事件。它支持Windows、Linux和Mac OS X操作系统,并且简单易用。
首先需要安装keyboard模块,可以使用以下命令:
pip install keyboard
接下来,使用keyboard模块的add_hotkey
函数可以绑定快捷键。例如,以下示例代码会在按下Ctrl+Alt+D时打印一条消息:
import keyboard
def on_hotkey():
print('Hotkey triggered')
keyboard.add_hotkey('ctrl+alt+d', on_hotkey)
keyboard.wait() # 等待热键事件
以上代码会一直运行,直到按下热键为止。请注意,如果在Windows操作系统中使用keyboard.wait()
函数,则当前线程将被阻塞,直到发生键盘事件。在Linux和Mac OS X中,可以使用keyboard.read_event()
函数阻塞当前线程,直到发生键盘事件。
pynput模块提供了监听和发送键盘和鼠标事件的功能。它的API比keyboard模块更高级,但使用也更为复杂。
首先需要安装pynput模块,可以使用以下命令:
pip install pynput
接下来,使用pynput模块的keyboard
子模块可以监听和发送键盘事件。例如,以下示例代码会在按下Ctrl+Alt+D时打印一条消息:
from pynput import keyboard
def on_hotkey():
print('Hotkey triggered')
with keyboard.GlobalHotKeys({
'<ctrl>+<alt>+d': on_hotkey,
}) as h:
h.join() # 等待热键事件
以上代码可以根据需要在程序中启动和停止。
pyHook模块支持Windows平台上的键盘和鼠标事件监听。它可以用来创建热键、捕获鼠标消息和键盘事件等。
首先需要安装pyHook模块,可以使用以下命令:
pip install pyhook
接下来,以下示例代码会在按下Ctrl+Alt+D时打印一条消息:
import pyHook
import pythoncom
def on_hotkey(event):
print('Hotkey triggered')
return True
hooks_manager = pyHook.HookManager()
hooks_manager.KeyDown = on_hotkey
hooks_manager.HookKeyboard()
pythoncom.PumpMessages() # 等待热键事件
以上代码会一直运行,直到按下热键为止。请注意,如果使用pythoncom.PumpMessages()
函数来等待热键事件,则当前线程将被阻塞,直到发生键盘事件。
以上是在Python中创建热键的三种方式。它们都各有特点,可以根据需要选择适合的方式。同时需要注意的是,在Windows平台上,由于操作系统本身的限制,不能使用非常规快捷键,例如F1到F12等。