本文转载自:http://blog.csdn.net/jcodeer/article/details/1811298

#Tkinter教程之Button篇(1)
Tkinter教程之Button篇(1)-LMLPHP#Button功能触发事件
Tkinter教程之Button篇(1)-LMLPHP'''1.一个简单的Button应用'''
Tkinter教程之Button篇(1)-LMLPHPfrom Tkinter import *
Tkinter教程之Button篇(1)-LMLPHP#定义Button的回调函数
Tkinter教程之Button篇(1)-LMLPHPdef helloButton():
Tkinter教程之Button篇(1)-LMLPHP    print 'hello button'
Tkinter教程之Button篇(1)-LMLPHProot = Tk()
Tkinter教程之Button篇(1)-LMLPHP#通过command属性来指定Button的回调函数
Tkinter教程之Button篇(1)-LMLPHPButton(root,text = 'Hello Button',command = helloButton).pack()
Tkinter教程之Button篇(1)-LMLPHProot.mainloop()
Tkinter教程之Button篇(1)-LMLPHP
Tkinter教程之Button篇(1)-LMLPHP'''
Tkinter教程之Button篇(1)-LMLPHP执行的结果:每次点击一次,程序向标准输出打印'hello button',以上为Button使用方法,可以
Tkinter教程之Button篇(1)-LMLPHP再做一下简化,如不设置Button的回调函数,这样也是允许的但这样的结果与Label没有什么太
Tkinter教程之Button篇(1)-LMLPHP大的区别,只是外观看起来有所不同罢了,失去了Button的作用。
Tkinter教程之Button篇(1)-LMLPHPfrom Tkinter import *
Tkinter教程之Button篇(1)-LMLPHProot = Tk()
Tkinter教程之Button篇(1)-LMLPHP#下面的relief = FLAT设置,就是一个Label了!!!
Tkinter教程之Button篇(1)-LMLPHPButton(root,text = 'hello button',relief=FLAT).pack()
Tkinter教程之Button篇(1)-LMLPHProot.mainloop()
Tkinter教程之Button篇(1)-LMLPHP'''
Tkinter教程之Button篇(1)-LMLPHP'''2.测试Button的relief属性'''
Tkinter教程之Button篇(1)-LMLPHP#运行下面的代码可以看到Button的各个不同效果,均没有回调函数。
Tkinter教程之Button篇(1)-LMLPHPfrom Tkinter import *
Tkinter教程之Button篇(1)-LMLPHProot = Tk()
Tkinter教程之Button篇(1)-LMLPHP#flat, groove, raised, ridge, solid, or sunken
Tkinter教程之Button篇(1)-LMLPHPButton(root,text = 'hello button',relief=FLAT).pack()
Tkinter教程之Button篇(1)-LMLPHPButton(root,text = 'hello button',relief=GROOVE).pack()
Tkinter教程之Button篇(1)-LMLPHPButton(root,text = 'hello button',relief=RAISED).pack()
Tkinter教程之Button篇(1)-LMLPHPButton(root,text = 'hello button',relief=RIDGE).pack()
Tkinter教程之Button篇(1)-LMLPHPButton(root,text = 'hello button',relief=SOLID).pack()
Tkinter教程之Button篇(1)-LMLPHPButton(root,text = 'hello button',relief=SUNKEN).pack()
Tkinter教程之Button篇(1)-LMLPHP
Tkinter教程之Button篇(1)-LMLPHProot.mainloop()
Tkinter教程之Button篇(1)-LMLPHP
Tkinter教程之Button篇(1)-LMLPHP'''
Tkinter教程之Button篇(1)-LMLPHPButton显示图像
Tkinter教程之Button篇(1)-LMLPHPimage:可以使用gif图像,图像的加载方法img = PhotoImage(root,file = filepath
Tkinter教程之Button篇(1)-LMLPHPbitmap:使用X11 格式的bitmap,Windows的Bitmap没法显示的,在Windows下使用GIMP2.4将windows
Tkinter教程之Button篇(1)-LMLPHPBitmap转换为xbm文件,依旧无法使用.linux下的X11 bitmap编辑器生成的bitmap还没有测试,但可
Tkinter教程之Button篇(1)-LMLPHP以使用内置的位图。
Tkinter教程之Button篇(1)-LMLPHP(1).使用位图文件
Tkinter教程之Button篇(1)-LMLPHPbp = BitmapImage(file = "c:/python2.xbm")
Tkinter教程之Button篇(1)-LMLPHPButton(root,bitmap = bp).pack()
Tkinter教程之Button篇(1)-LMLPHP(2).使用位图数据
Tkinter教程之Button篇(1)-LMLPHPBITMAP = """
Tkinter教程之Button篇(1)-LMLPHP#define im_width 32
Tkinter教程之Button篇(1)-LMLPHP#define im_height 32
Tkinter教程之Button篇(1)-LMLPHPstatic char im_bits[] = {
Tkinter教程之Button篇(1)-LMLPHP0xaf,0x6d,0xeb,0xd6,0x55,0xdb,0xb6,0x2f,
Tkinter教程之Button篇(1)-LMLPHP0xaf,0xaa,0x6a,0x6d,0x55,0x7b,0xd7,0x1b,
Tkinter教程之Button篇(1)-LMLPHP0xad,0xd6,0xb5,0xae,0xad,0x55,0x6f,0x05,
Tkinter教程之Button篇(1)-LMLPHP0xad,0xba,0xab,0xd6,0xaa,0xd5,0x5f,0x93,
Tkinter教程之Button篇(1)-LMLPHP0xad,0x76,0x7d,0x67,0x5a,0xd5,0xd7,0xa3,
Tkinter教程之Button篇(1)-LMLPHP0xad,0xbd,0xfe,0xea,0x5a,0xab,0x69,0xb3,
Tkinter教程之Button篇(1)-LMLPHP0xad,0x55,0xde,0xd8,0x2e,0x2b,0xb5,0x6a,
Tkinter教程之Button篇(1)-LMLPHP0x69,0x4b,0x3f,0xb4,0x9e,0x92,0xb5,0xed,
Tkinter教程之Button篇(1)-LMLPHP0xd5,0xca,0x9c,0xb4,0x5a,0xa1,0x2a,0x6d,
Tkinter教程之Button篇(1)-LMLPHP0xad,0x6c,0x5f,0xda,0x2c,0x91,0xbb,0xf6,
Tkinter教程之Button篇(1)-LMLPHP0xad,0xaa,0x96,0xaa,0x5a,0xca,0x9d,0xfe,
Tkinter教程之Button篇(1)-LMLPHP0x2c,0xa5,0x2a,0xd3,0x9a,0x8a,0x4f,0xfd,
Tkinter教程之Button篇(1)-LMLPHP0x2c,0x25,0x4a,0x6b,0x4d,0x45,0x9f,0xba,
Tkinter教程之Button篇(1)-LMLPHP0x1a,0xaa,0x7a,0xb5,0xaa,0x44,0x6b,0x5b,
Tkinter教程之Button篇(1)-LMLPHP0x1a,0x55,0xfd,0x5e,0x4e,0xa2,0x6b,0x59,
Tkinter教程之Button篇(1)-LMLPHP0x9a,0xa4,0xde,0x4a,0x4a,0xd2,0xf5,0xaa
Tkinter教程之Button篇(1)-LMLPHP};
Tkinter教程之Button篇(1)-LMLPHP"""
Tkinter教程之Button篇(1)-LMLPHP使用tuple数据来创建图像
Tkinter教程之Button篇(1)-LMLPHPbmp = BitmapImage(data = BITMAP)
Tkinter教程之Button篇(1)-LMLPHPButton(root,bitmap = bmp)
Tkinter教程之Button篇(1)-LMLPHP'''
Tkinter教程之Button篇(1)-LMLPHP'''3.与Label一样,Button也可以同时显示文本与图像,使用属性compound'''
Tkinter教程之Button篇(1)-LMLPHPfrom Tkinter import *
Tkinter教程之Button篇(1)-LMLPHProot = Tk()
Tkinter教程之Button篇(1)-LMLPHP#图像居下,居上,居右,居左,文字位于图像之上
Tkinter教程之Button篇(1)-LMLPHPButton(root,text = 'botton',compound = 'bottom',bitmap = 'error').pack()
Tkinter教程之Button篇(1)-LMLPHPButton(root,text = 'top',compound = 'top',bitmap = 'error').pack()
Tkinter教程之Button篇(1)-LMLPHPButton(root,text = 'right',compound = 'right',bitmap = 'error').pack()
Tkinter教程之Button篇(1)-LMLPHPButton(root,text = 'left',compound = 'left',bitmap = 'error').pack()
Tkinter教程之Button篇(1)-LMLPHPButton(root,text = 'center',compound = 'center',bitmap = 'error').pack()
Tkinter教程之Button篇(1)-LMLPHP#消息循环
Tkinter教程之Button篇(1)-LMLPHProot.mainloop()
Tkinter教程之Button篇(1)-LMLPHP
Tkinter教程之Button篇(1)-LMLPHP'''4.控件焦点问题
Tkinter教程之Button篇(1)-LMLPHP创建三个Button,各自对应回调函数;将第二个Button设置焦点,程序运行是按“Enter”,判断
Tkinter教程之Button篇(1)-LMLPHP程序的打印结果
Tkinter教程之Button篇(1)-LMLPHP'''
Tkinter教程之Button篇(1)-LMLPHPfrom Tkinter import *
Tkinter教程之Button篇(1)-LMLPHP
Tkinter教程之Button篇(1)-LMLPHPdef cb1():
Tkinter教程之Button篇(1)-LMLPHP    print 'button1 clicked'
Tkinter教程之Button篇(1)-LMLPHPdef cb2(event):
Tkinter教程之Button篇(1)-LMLPHP    print 'button2 clicked'
Tkinter教程之Button篇(1)-LMLPHPdef cb3():
Tkinter教程之Button篇(1)-LMLPHP    print 'button3 clicked'
Tkinter教程之Button篇(1)-LMLPHP    
Tkinter教程之Button篇(1)-LMLPHProot = Tk()
Tkinter教程之Button篇(1)-LMLPHP
Tkinter教程之Button篇(1)-LMLPHPb1 = Button(root,text = 'Button1',command = cb1)
Tkinter教程之Button篇(1)-LMLPHPb2 = Button(root,text = 'Button2')
Tkinter教程之Button篇(1)-LMLPHPb2.bind("<Return>",cb2)
Tkinter教程之Button篇(1)-LMLPHPb3 = Button(root,text = 'Button3',command = cb3)
Tkinter教程之Button篇(1)-LMLPHPb1.pack()
Tkinter教程之Button篇(1)-LMLPHPb2.pack()
Tkinter教程之Button篇(1)-LMLPHPb3.pack()
Tkinter教程之Button篇(1)-LMLPHP
Tkinter教程之Button篇(1)-LMLPHPb2.focus_set()
Tkinter教程之Button篇(1)-LMLPHProot.mainloop()
Tkinter教程之Button篇(1)-LMLPHP'''
Tkinter教程之Button篇(1)-LMLPHP上例中使用了bind方法,它建立事件与回调函数(响应函数)之间的关系,每当产生<Enter>事件
Tkinter教程之Button篇(1)-LMLPHP后,程序便自动的调用cb2,与cb1,cb3不同的是,它本身还带有一个参数----event,这个参数传递
Tkinter教程之Button篇(1)-LMLPHP响应事件的信息。
Tkinter教程之Button篇(1)-LMLPHP'''
Tkinter教程之Button篇(1)-LMLPHPfrom Tkinter import *
Tkinter教程之Button篇(1)-LMLPHPdef printEventInfo(event):
Tkinter教程之Button篇(1)-LMLPHP    print 'event.time = ' , event.time
Tkinter教程之Button篇(1)-LMLPHP    print 'event.type = ' , event.type
Tkinter教程之Button篇(1)-LMLPHP    print 'event.WidgetId = ', event.widget
Tkinter教程之Button篇(1)-LMLPHP    print 'event.KeySymbol = ',event.keysym
Tkinter教程之Button篇(1)-LMLPHProot = Tk()
Tkinter教程之Button篇(1)-LMLPHPb = Button(root,text = 'Infomation')
Tkinter教程之Button篇(1)-LMLPHPb.bind("<Return>",printEventInfo)
Tkinter教程之Button篇(1)-LMLPHPb.pack()
Tkinter教程之Button篇(1)-LMLPHPb.focus_set()
Tkinter教程之Button篇(1)-LMLPHProot.mainloop()    
Tkinter教程之Button篇(1)-LMLPHP
Tkinter教程之Button篇(1)-LMLPHP'''
Tkinter教程之Button篇(1)-LMLPHP犯了个错误,将<Return>写成<Enter>了,结果是:当鼠标进入Button区域后,事件printEventInfo
Tkinter教程之Button篇(1)-LMLPHP被调用。程序打印出了event的信息。
Tkinter教程之Button篇(1)-LMLPHP'''

05-04 11:16
查看更多