1.調用規則:窗體對象.bind(事件類型,回調函數)
2.<Button-1>表示鼠標左鍵單擊,其中的1換成3表示右鍵被單擊,為2的時候表示鼠標中鍵
t=Label(root, text='標簽')
t.bind(<Button-1>, 函數名) # 鼠標左鍵點擊時調用函數
3.<KeyPress-A>表示A鍵被按下,其中的A可以換成其他的鍵位
4.<Control-V>表示按下的是Ctrl和V鍵,V可以換成其他鍵位
5.<F1>表示按下的是F1鍵,對於Fn系列的,都可以隨便換
其中bind函數是定義在Misc類里面的,也就是說,這個bind可以被絕大多數組件類所使用
注意:若使用bind,則布局必須寫在bind后無法會報AttributeError錯
b = Button(root, text='確定').grid(row=2, column=1, stick=E)
b.bind('<Button-1>', reg)
此寫法是錯誤的,執行結果會報AttributeError: 'NoneType' object has no attribute 'bind'
正確寫法:
b = Button(root, text='確定')
b.bind('<Button-1>', reg)
b.grid(row=2, column=1, stick=E)
關於bind函數,還有兩個版本:
1.可以在全程序級別的綁定,使用bind_all,它的參數類型和bind一樣,它通常用於全局的快捷鍵,比如F1通常是用來打開幫助文檔
2.還可以綁定某些類別,使用bind_class,它接受三個參數,第一個參數是類名,第二個參數是事件類型,第三個參數是相應的操作,比如w.bind_class(“Entry”,“<Control-V>”,my_paste)。它就是綁定了所有的所有的輸入框的Ctrl+V表示粘貼