python Tkinter事件繫結,引數傳遞

2021-10-03 19:41:17 字數 1446 閱讀 6547

python tkinter事件繫結,引數傳遞

一般情況下的處理方式為:

#coding=utf-8

import tkinter

def handler(

): ''

'事件處理函式'

'' print "handler"

if __name__==

'__main__'

: root = tkinter.tk(

)# 通過中介函式handleradapotor進行command設定

btn = tkinter.button(text=u'按鈕', command=handler)

btn.pack(

) root.mainloop(

)

但如果handler()函式需要引數該怎麼辦呢,很簡單,使用lambda

#coding=utf-8

import tkinter

def handler(a, b, c):

'''事件處理函式'

'' print "handler", a, b, c

if __name__==

'__main__'

: root = tkinter.tk(

)# 通過中介函式handleradapotor進行command設定

btn = tkinter.button(text=u'按鈕', command=lambda : handler(a=1, b=2, c=3))

btn.pack(

) root.mainloop(

)

但對於想使用event的情況,像btn.bind("", handler),又該怎麼辦呢,如下:

#coding=utf-8

import tkinter

def handler(event, a, b, c):

'''事件處理函式'

'' print event

print "handler", a, b, c

if __name__==

'__main__'

: root = tkinter.tk(

) btn = tkinter.button(text=u'按鈕'

)# 通過中介函式handleradaptor進行事件繫結

btn.bind(

"",lambda event:handle(1, 2, 3))

btn.pack(

) root.mainloop(

)

在Python tkinter中自定義事件

在手機和計算機上,都有乙個鬧鐘和時鐘程式,包括秒錶 計時器 鬧鐘和時鐘4個功能。它們每1秒都要改變顯示的時間。可在另一線程建立秒計時器,每隔1秒發乙個事件,使秒錶 計時器 鬧鐘和時鐘改變時間。如用python tkinter編寫這個程式,必須自定義事件,並把自定義事件繫結到自定義事件函式,這裡介紹實...

Python Tkinter 布局方式

優點問題,如何在介面上顯示 定義 所有的tkinter 元件都包含專用的幾何管理方法,這些方法是用來組織和管理整個父配件區中子配件的布局的。tkinter 提供了截然不同的三種幾何管理類 pack grid 和place。pack 幾何管理採用塊的方式組織配件,在快速生成介面設計中廣泛採用,若干元件...

python tkinter 單選 多選

單選按鈕 tkinter.radiobutton root,text a pack tkinter.radiobutton root,text b pack tkinter.radiobutton root,text c pack 預設被選中,且單個一組 variable把radiobutton分成...