<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
事件繫結函數有三個如下:
元件.bind('事件型別',事件函數)
為一個元件繫結一個操作
元件.bind_class('元件型別','事件型別',事件函數)
為一個類元件繫結一個操作
元件.bind_all('事件型別',事件函數)
為所有元件繫結一個操作(所有操作都會當作對主介面的操作)
事件繫結的案例1:
滑鼠進入元件變紅,離開元件變白:
# 單行文字輸入框 entry = tkinter.Entry(root) entry.pack() # 事件函數 def changered(eventobj): # 通過事件物件獲取得到元件 eventobj.widget['bg'] = 'red'#滑鼠進入元件變紅 def wdc(eventobj): eventobj.widget['bg'] = 'white'#滑鼠離開元件變白 # 事件繫結 entry.bind('<Enter>',changered) entry.bind('<Leave>',wdc)
注意:通過繫結函數操作,對應的事件函數,必須有形參接受事件物件。
事件函數必須在繫結之前定義
事件繫結的案例2:
鍵盤快捷鍵觸發事件:按快捷鍵改變視窗背景色
import tkinter # 建立主視窗 root = tkinter.Tk() # 設定視窗大小 root.minsize(300,200) # 變紅色 def changer(eventobj): eventobj.widget['bg'] = 'red' # 按Ctrl + r視窗變紅色:兩條命令 R和r都行 root.bind('<Control-KeyPress-r>',changer) root.bind('<Control-KeyPress-R>',changer) # 加入訊息迴圈 root.mainloop()
事件繫結的案例3:(為一類元件繫結事件)
import tkinter # 建立主視窗 root = tkinter.Tk() # 設定視窗大小 root.minsize(300,200) # 按鈕1 btn1 = tkinter.Button(root,text = '1') btn1.place(x = 20,y = 20,width = 40,height = 40) # 按鈕2 btn2 = tkinter.Button(root,text = '2') btn2.place(x = 80,y = 20,width = 40,height = 40) # 按鈕3 btn3 = tkinter.Button(root,text = '3') btn3.place(x = 140,y = 20,width = 40,height = 40) # 按鈕4 btn4 = tkinter.Button(root,text = '4') btn4.place(x = 20,y = 80,width = 40,height = 40) # 按鈕5 btn5 = tkinter.Button(root,text = '5') btn5.place(x = 80,y = 80,width = 40,height = 40) # 按鈕6 btn6 = tkinter.Button(root,text = '6') btn6.place(x = 140,y = 80,width = 40,height = 40) def changebg(wdc): # 滑鼠放到按鈕上按鈕變紅 wdc.widget['bg'] = 'red' def changebg1(wdc): # 滑鼠離開按鈕上按鈕變白 wdc.widget['bg'] = 'white' # 繫結按鈕滑鼠進入事件 btn1.bind_class('Button','<Enter>',changebg) btn1.bind_class('Button','<Leave>',changebg1) # 加入訊息迴圈 root.mainloop()
事件繫結的案例4:(為所有元件繫結事件)
滑鼠點選所有元件,Entry元件背景顏色都會變紅:
import tkinter # 建立主視窗 root = tkinter.Tk() # 設定視窗大小 root.minsize(300,200) # 按鈕 btn1 = tkinter.Button(root,text = '###############') btn1.pack() # 輸入框 entry = tkinter.Entry(root) entry.pack() # 多行輸入框 text = tkinter.Text(root,width = 20,height = 5) text.pack() # 函數 def changeentry(e): # 滑鼠點選任意元件,Entry元件都會變紅 entry['bg'] = 'red' # 事件繫結 btn1.bind_all('<Button-1>',changeentry) # 加入訊息迴圈 root.mainloop()
到此這篇關於python_tkinter事件型別詳情的文章就介紹到這了,更多相關python_tkinter事件內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45