tkinter事件之bind


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表示粘貼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM