检测是否有按键被按下,wxPython
我有一个定时器,我想知道在每个循环中有没有按下任何键。请问我该怎么做呢?
3 个回答
0
试试这个:
import sys
c = sys.stdin.read(1)
1
如果你在用Linux系统,这个功能在curses
模块里;如果你在用Windows系统,那它就在msvcrt
模块里。我发现下面这篇文章对这个话题讲得很清楚,值得一看 - 事件驱动编程
0
如果你在用Windows系统,想要了解全局的按键事件,可以使用PyHook这个工具。
import pythoncom, pyHook
def OnKeyboardEvent(event):
print 'Ascii:', event.Ascii, chr(event.Ascii)
print 'Key:', event.Key
print 'KeyID:', event.KeyID
print 'ScanCode:', event.ScanCode
print 'Extended:', event.Extended
return True #for pass through key events, False to eat Keys
hm = pyHook.HookManager()
hm.KeyDown = OnKeyboardEvent
hm.HookKeyboard()
pythoncom.PumpMessages()