2011-04-22 88 views

回答

0

的Tkinter有内置的按键事件。

import Tkinter as tk 

def keypress(event): 
if event.keysym == 'Escape': 
root.destroy() 
x = event.char 
if x == "w": 
print "blaw blaw blaw" 
elif x == "a": 
print "blaha blaha blaha" 
elif x == "s": 
print "blash blash blash" 
elif x == "d": 
print "blad blad blad" 
else: 
print x 


root = tk.Tk() 
print "Press a key (Escape key to exit):" 
root.bind_all('<Key>', keypress) 
# don't show the tk window 
root.withdraw() 
root.mainloop() 
0

在Windows中,您可以使用的msvcrt模块:

这是一个标准的Windows的特定 扩展模块。它定义了一个函数 的kbhit(),其检查键盘命中是否 存在,并且的getch() 它获取一个字符而不 呼应它。

我不知道但是如果它能够与这两个组合按键

0

Tkinter的工作,可能是最好的,但如果你正在做一些基于终端的ncurses的也是一种选择。如果你使用的是图形或GUI,你使用的库(PyGame,GTK,Wx,Qt,Pyglet等)将有自己的处理键盘事件的方式。

1

注意,Tkinter的解决方案不会在Mac上工作(至少它没有我的Mac上工作)。我用Python 3.2.2和Python 2.7.2测试了它。如果窗口被撤销,它将不会获得焦点,因此它不会感知任何关键事件。