Python tkinterのBind(バインディングイベント)の使用例
4402 ワード
1、マウスイベントをバインドし、イベントのプロパティを取得する
2、キーボードイベントをバインドし、イベントのプロパティを取得する
以上がPython tkinterのBind(バインディングイベント)の使用例の詳細です。python tkinter Bindに関する資料は他の関連記事に注目してください。
# -*- encoding=utf-8 -*-
import tkinter
from tkinter import *
def left_mouse_down(event):
print(' ')
#
widget = event.widget
print(' :{}'.format(widget))
print(' :{}'.format(widget.cget('bg')))
widget_x = event.x # x
print(' :{}'.format(widget_x))
widget_y = event.y # y
print(' :{}'.format(widget_y))
x_root = event.x_root #
print(' :{}'.format(x_root))
y_root = event.y_root #
print(' :{}'.format(y_root))
def left_mouse_up(event):
print(' ')
def moving_mouse(event):
print(' ')
def moving_into(event):
print(' ')
def moving_out(event):
print(' ')
def right_mouse_down(event):
print(' ')
def right_mouse_up(event):
print(' ')
def pulley_up(event):
print(' ')
def focus(event):
print(' ')
def unfocus(event):
print(' ')
if __name__ == '__main__':
win = tkinter.Tk() #
win.title(' ') #
screenwidth = win.winfo_screenwidth() #
screenheight = win.winfo_screenheight() #
width = 500
height = 300
x = int((screenwidth - width) / 2)
y = int((screenheight - height) / 2)
win.geometry('{}x{}+{}+{}'.format(width, height, x, y)) #
label = Label(text=' ', relief='g', font=(' ', 20))
label.pack(pady=10)
label.bind('<Button-1>', left_mouse_down) #
label.bind('<ButtonRelease-1>', left_mouse_up) #
label.bind('<Button-3>', right_mouse_down) #
label.bind('<ButtonRelease-3>', right_mouse_up) #
label.bind('<B1-Motion>', moving_mouse) #
label.bind('<Enter>', moving_into) #
label.bind('<Leave>', moving_out) #
label.bind('<FocusIn>', focus) #
label.bind('<FocusOut>', unfocus) #
label.focus_set() #
Entry().pack()
win.mainloop()
2、キーボードイベントをバインドし、イベントのプロパティを取得する
# -*- encoding=utf-8 -*-
import tkinter
from tkinter import *
def keyboard_event(event):
char = event.char
print(' char:{}'.format(char))
key_code = event.keycode
print(' key code:{}'.format(key_code))
def entry_enter(event):
print(' :' + entry.get())
def shift_f(event):
print('SHIFT + F')
print(event.char)
print(event.keycode)
def num_lock(event):
print('num_lock')
print(event.char)
print(event.keycode)
if __name__ == '__main__':
win = tkinter.Tk() #
win.title(' ') #
screenwidth = win.winfo_screenwidth() #
screenheight = win.winfo_screenheight() #
width = 500
height = 300
x = int((screenwidth - width) / 2)
y = int((screenheight - height) / 2)
win.geometry('{}x{}+{}+{}'.format(width, height, x, y)) #
label = Label(text=' ', relief='g', font=(' ', 20))
label.pack(pady=10)
label.focus_set()
label.bind('<Return>', keyboard_event) #
label.bind('<Shift F>', shift_f)
label.bind('<Num_Lock>', num_lock)
entry = Entry()
entry.pack()
entry.bind('<Return>', entry_enter) #
win.mainloop()
以上がPython tkinterのBind(バインディングイベント)の使用例の詳細です。python tkinter Bindに関する資料は他の関連記事に注目してください。