2017-04-29

python3,tkinter,キーコードを出力またはキー認識,フレーム

python3,tkinter

フレームを表示、フォーカスする。
押されたキー認識コードやキー名を出力する。

import tkinter as tk

class Frame(tk.Frame):
 """フレーム設定"""
 
 def __init__(self, master=None):
	tk.Frame.__init__(self, master)
	"""  初期化 """
  
	self.master.geometry('300x200')
	self.master.bind('< KeyPress  >', self.key)

	def key(self, event):
	print ("key code", repr(event.char))

if __name__ == '__main__':
	root = Frame()
	root.mainloop() 

押されたキーのコードやキー名が表示される

< 表示例 >
key code 'A'     # A キー (a + Shift)
key code 'd'     # d キー
key code '¥r'      # リターン キー
key code ''       # シフト キー
key code ''       # コントロールキー
key code ' '                  # スペース キー (半角)
key code '¥u3000'    # スペース キー(全角)
key code '¥t'      # タブ キー


print ("key code", repr(event.char)) の event.char を event にすると下記の形式で出力される。
< 表示例 >
key code <tkinter.Event object at 0xb6fd6bcc>
key code <tkinter.Event object at 0xb6fd6bec>


キーやマウスのイベント(キーやマウスが操作された時に処理を実行するプログラムの動作)には以下のようなものがある。

< イベント例 >
書式 : '< Key  >'
Key, KeyPress  [ キーが押された ]
KeyRelease   [ キーが離された ]

Button, ButtonPress  [ マウスのボタンが押された ]
ButtonRelease  [ マウスのボタンが離された ]
Motion  [ マウスの移動 ]
Enter  [ マウスカーソルがウィンドウの中に入った ]
Leave  [ マウスカーソルがウィンドウから出た ]