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分成...