(2013年)なぜわからないPythonがおかしいのか、グーグルで検索しても簡単に見つけられないが、それは非常に簡単だ。
「SPACE」または実際にキーを検出するにはどうすればよいですか?これどうやってするの:
print('You pressed %s' % key)
これはpython coreに含まれている必要があります。そのため、コアpythonに関連しないモジュールをリンクしないでください。
小さなTkinterアプリを作成できます。
import Tkinter as tk
def onKeyPress(event):
text.insert('end', 'You pressed %s\n' % (event.char, ))
root = tk.Tk()
root.geometry('300x200')
text = tk.Text(root, background='black', foreground='white', font=('Comic Sans MS', 12))
text.pack()
root.bind('<KeyPress>', onKeyPress)
root.mainloop()
Tkinterを使用すると、このためのオンラインチュートリアルが多数あります。基本的に、イベントを作成できます。素晴らしいサイトへの リンク です!これにより、クリックを簡単にキャプチャできます。また、ゲームを作成しようとしている場合、TkinterにはGUIもあります。ゲームにはPythonはお勧めしませんが、楽しい実験になるかもしれません。幸運を祈ります!
キー入力は事前定義されたイベントです。既存のバインディングメソッド(bind
、event_sequence
、event_handle
、bind_class
)の1つまたは複数を使用して、tag_bind
(s)をbind_all
(s)にアタッチすることにより、イベントをキャッチできます。それを行うには:
event_handle
メソッドを定義するevent_sequence
)を選んでくださいイベントが発生すると、これらのバインディングメソッドはすべて、Event
オブジェクトを渡すときにevent_handle
メソッドを暗黙的に呼び出します。このオブジェクトには、発生したイベントの詳細に関する情報が引数として含まれます。
キー入力を検出するには、最初にすべての'<KeyPress>'
または'<KeyRelease>'
イベントをキャッチしてから、event.keysym
属性を使用して使用される特定のキーを見つけることができます。
以下は、bind
を使用して、特定のウィジェット(root
)で'<KeyPress>'
イベントと'<KeyRelease>'
イベントの両方をキャッチする例です。
try: # In order to be able to import tkinter for
import tkinter as tk # either in python 2 or in python 3
except ImportError:
import Tkinter as tk
def event_handle(event):
# Replace the window's title with event.type: input key
root.title("{}: {}".format(str(event.type), event.keysym))
if __name__ == '__main__':
root = tk.Tk()
event_sequence = '<KeyPress>'
root.bind(event_sequence, event_handle)
root.bind('<KeyRelease>', event_handle)
root.mainloop()