溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python_tkinter事件類型實例分析

發(fā)布時間:2022-03-21 09:14:43 來源:億速云 閱讀:310 作者:iii 欄目:開發(fā)技術(shù)

這篇“python_tkinter事件類型實例分析”文章的知識點大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“python_tkinter事件類型實例分析”文章吧。

1.事件綁定函數(shù)

事件綁定函數(shù)有三個如下:       

組件.bind('事件類型',事件函數(shù))

為一個組件綁定一個操作

組件.bind_class('組件類型','事件類型',事件函數(shù))

為一個類組件綁定一個操作

組件.bind_all('事件類型',事件函數(shù))

為所有組件綁定一個操作(所有操作都會當(dāng)作對主界面的操作)

2.事件類型

python_tkinter事件類型實例分析

python_tkinter事件類型實例分析

python_tkinter事件類型實例分析

3.事件對象

python_tkinter事件類型實例分析

事件綁定的案例1:

鼠標(biāo)進入組件變紅,離開組件變白:

python_tkinter事件類型實例分析

# 單行文本輸入框
entry = tkinter.Entry(root)
entry.pack()
# 事件函數(shù)
def changered(eventobj):
    # 通過事件對象獲取得到組件
    eventobj.widget['bg'] = 'red'#鼠標(biāo)進入組件變紅
def wdc(eventobj):
    eventobj.widget['bg'] = 'white'#鼠標(biāo)離開組件變白
# 事件綁定
entry.bind('<Enter>',changered)
entry.bind('<Leave>',wdc)

注意:通過綁定函數(shù)操作,對應(yīng)的事件函數(shù),必須有形參接受事件對象。

事件函數(shù)必須在綁定之前定義

事件綁定的案例2:

鍵盤快捷鍵觸發(fā)事件:按快捷鍵改變窗口背景色

python_tkinter事件類型實例分析

import tkinter

# 創(chuàng)建主窗口
root = tkinter.Tk()
# 設(shè)置窗口大小
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)

# 加入消息循環(huán)
root.mainloop()

事件綁定的案例3:(為一類組件綁定事件)

python_tkinter事件類型實例分析

import tkinter

# 創(chuàng)建主窗口
root = tkinter.Tk()
# 設(shè)置窗口大小
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):
    # 鼠標(biāo)放到按鈕上按鈕變紅
    wdc.widget['bg'] = 'red'
def changebg1(wdc):
    # 鼠標(biāo)離開按鈕上按鈕變白
    wdc.widget['bg'] = 'white'
# 綁定按鈕鼠標(biāo)進入事件
btn1.bind_class('Button','<Enter>',changebg)
btn1.bind_class('Button','<Leave>',changebg1)

# 加入消息循環(huán)
root.mainloop()

事件綁定的案例4:(為所有組件綁定事件)

鼠標(biāo)點擊所有組件,Entry組件背景顏色都會變紅:

python_tkinter事件類型實例分析

import tkinter

# 創(chuàng)建主窗口
root = tkinter.Tk()
# 設(shè)置窗口大小
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()
# 函數(shù)
def changeentry(e):
    # 鼠標(biāo)點擊任意組件,Entry組件都會變紅
    entry['bg'] = 'red'

# 事件綁定
btn1.bind_all('<Button-1>',changeentry)

# 加入消息循環(huán)
root.mainloop()

以上就是關(guān)于“python_tkinter事件類型實例分析”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對大家有幫助,若想了解更多相關(guān)的知識內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI