2 TKinter绑定事件
通过command属性给button绑定事件
目的:点击一下按扭,在窗口中出现一行字
第一种方法(command):
#!/usr/bin/env python # _*_ coding:utf-8 _*_ from Tkinter import * def p_label(): global root Lb = Label(root,text='我爱python') Lb.pack() root = Tk() B_n = Button(root,text='点我',command=p_label) #command后面不能有任何的标点符号 B_n.pack() root.mainloop()
效果图
第二种方法(bind):
1、bind 的第一个参数是事件类型,它采用的描述方式是这 样的:,这里的 MODIFIER 即修饰符,它的全部取值如下:Control, Mod2, M2, Shift, Mod3, M3, Lock, Mod4, M4, Button1, B1, Mod5, M5 Button2, B2, Meta, M, Button3,B3, Alt, Button4, B4, Double, Button5, B5 Triple, Mod1, M1。 而第三个 TYPE 表示类型,它的全部取值如下:Activate, Enter, Map, ButtonPress, Button, Expose, Motion, 辛星 2014 年度辛星 tkinter 教程第二版 tkinter 25 / 103 ButtonRelease,FocusIn, MouseWheel, Circulate, FocusOut, Property, Colormap, Gravity Reparent, Configure, KeyPress, Key, Unmap, Deactivate, KeyRelease Visibility, Destroy,Leave。第三个参数表 示细节,其实也就是对第二个参数的一些辅助说明。
2、第二个参数可以是一个函数名,记住,不要加任何的标 点符号,否则运行时会报错的。
代码如下:
#!/usr/bin/env python # _*_ coding:utf-8 _*_ from Tkinter import * def p_label(events): #必须跟一个参数 global root Lb = Label(root,text='我爱python') Lb.pack() root = Tk() B_n = Button(root,text='点我') B_n.bind("<Button-1>",p_label) #<Button-1>表示左键 B_n.pack() root.mainloop()
效果图和上面的一样