一、目標
學習Tkinter製作窗體軟件的基礎,觸發鍵盤事件。
響應特殊按鍵事件 <Shift_L> 左shift按鍵響應 <Shift_R> 右shift按鍵響應 <F2> F2按鍵相應,F3,F4..... <Return> 回車按鍵相應 <BackSpace> 退格刪除鍵相應
二、試驗平臺
windows7 , python3.7
三、直接上代碼
import tkinter
from tkinter import ttk
def xFunc1(event):
print(f"事件觸發鍵盤輸入:{event.char},對應的ASCII碼:{event.keycode}")
win = tkinter.Tk()
win.title("Kahn Software v1") # #窗口標題
win.geometry("600x500+200+20") # #窗口位置500後面是字母x
'''
響應所有事件(鍵盤)
<Key> 所有鍵盤按鍵會觸發
'''
xLabel = tkinter.Label(win, text="KAHN Hello world")
xLabel.focus_set()
xLabel.pack()
xLabel.bind("<Key>", xFunc1)
win.mainloop() # #窗口持久化
測試方法:運行程序,敲擊鍵盤任意按鍵都會觸發
上面是給一個小空間綁定焦點事件,然後觸發全鍵盤點擊
四、全程序窗體綁定鍵盤事件
import tkinter
from tkinter import ttk
def xFunc1(event):
print(f"事件觸發鍵盤輸入:{event.char},對應的ASCII碼:{event.keycode}")
win = tkinter.Tk()
win.title("Kahn Software v1") # #窗口標題
win.geometry("600x500+200+20") # #窗口位置500後面是字母x
'''
響應所有事件(鍵盤)
<Key> 所有鍵盤按鍵會觸發
'''
win.bind("<Key>", xFunc1)
win.mainloop() # #窗口持久化
五、特殊按鍵響應事件
import tkinter
from tkinter import ttk
def xFunc1(event):
print(f"特殊按鍵觸發:{event.char},對應的ASCII碼:{event.keycode}")
win = tkinter.Tk()
win.title("Kahn Software v1") # #窗口標題
win.geometry("600x500+200+20") # #窗口位置500後面是字母x
'''
響應特殊按鍵事件
<Shift_L> 左shift按鍵響應
<Shift_R> 右shift按鍵響應
<F2> F2按鍵相應,F3,F4.....
<Return> 回車按鍵相應
<BackSpace> 退格刪除鍵相應
a 指定按鍵盤a鍵觸發
x 指定按鍵盤x鍵觸發
'''
win.bind("<BackSpace>", xFunc1)
# win.bind("a", xFunc1)
# win.bind("x", xFunc1)
win.mainloop() # #窗口持久化
六、組合按鍵觸發事件
import tkinter
from tkinter import ttk
def xFunc1(event):
print(f"組合按鍵觸發:{event.char},對應的ASCII碼:{event.keycode}")
win = tkinter.Tk()
win.title("Kahn Software v1") # #窗口標題
win.geometry("600x500+200+20") # #窗口位置500後面是字母x
'''
組合按鍵事件
<Control-Alt-x> 按住鍵盤Ctrl + Alt + x 按鍵觸發事件
<Shift-Up> 按住Shift + 光標上鍵 觸發事件
<Control-p> 按住Ctrl + p 觸發事件
'''
# win.bind("<Control-Alt-t>", xFunc1)
win.bind("<Control-p>", xFunc1)
# win.bind("<Control-Alt-x>", xFunc1)
win.mainloop() # #窗口持久化
五一假開始了
kahn,2019年5月1日11:26:41