参考博客:
http://blog.csdn.net/jcodeer/article/details/1811298
from tkinter import * root = Tk() ''' 1、了解Button的relief Button(root,text="hello,button",relief=FLAT).pack() #relief=FLAT 就像是一个Label root.mainloop() ''' ''' 2、了解Button的relief的其他形式 Button(root,text="hello,button",relief=FLAT).pack() Button(root,text="hello,button",relief=GROOVE).pack() Button(root,text="hello,button",relief=RAISED).pack() Button(root,text="hello,button",relief=RIDGE).pack() Button(root,text="hello,button",relief=SOLID).pack() Button(root,text="hello,button",relief=SUNKEN).pack() root.mainloop() ''' #3、Button显示图像(失败) ''' BITMAP=""" #define im_width 32 #define im_height 32 static char im_bits[] = { 0xaf,0x6d,0xeb,0xd6,0x55,0xdb,0xb6,0x2f, 0xaf,0xaa,0x6a,0x6d,0x55,0x7b,0xd7,0x1b, 0xad,0xd6,0xb5,0xae,0xad,0x55,0x6f,0x05, 0xad,0xba,0xab,0xd6,0xaa,0xd5,0x5f,0x93, 0xad,0x76,0x7d,0x67,0x5a,0xd5,0xd7,0xa3, 0xad,0xbd,0xfe,0xea,0x5a,0xab,0x69,0xb3, 0xad,0x55,0xde,0xd8,0x2e,0x2b,0xb5,0x6a, 0x69,0x4b,0x3f,0xb4,0x9e,0x92,0xb5,0xed, 0xd5,0xca,0x9c,0xb4,0x5a,0xa1,0x2a,0x6d, 0xad,0x6c,0x5f,0xda,0x2c,0x91,0xbb,0xf6, 0xad,0xaa,0x96,0xaa,0x5a,0xca,0x9d,0xfe, 0x2c,0xa5,0x2a,0xd3,0x9a,0x8a,0x4f,0xfd, 0x2c,0x25,0x4a,0x6b,0x4d,0x45,0x9f,0xba, 0x1a,0xaa,0x7a,0xb5,0xaa,0x44,0x6b,0x5b, 0x1a,0x55,0xfd,0x5e,0x4e,0xa2,0x6b,0x59, 0x9a,0xa4,0xde,0x4a,0x4a,0xd2,0xf5,0xaa }; """ #使用tuple数据来创建图像 bmp = BitmapImage(data = BITMAP) Button(root,bitmap = bmp).pack() ''' ''' 4、Button中图像与文本的位置(共同显示),使用compound属性 Button(root,text="button",compound="bottom",bitmap="error").pack() Button(root,text="top",compound="top",bitmap="error").pack() Button(root,text="right",compound="right",bitmap="error").pack() Button(root,text="left",compound="left",bitmap="error").pack() Button(root,text="center",compound="center",bitmap="error").pack() ''' ''' 5、控件焦点问题,实际效果是按下enter键自动执行焦点控件,bind方法 def cb1(): print("button1 clicked") def cb2(event): print("button2 clicked") def cb3(): print("button3 clicked") b1 = Button(root,text="Button1",command=cb1) b2 = Button(root,text="Button2") b2.bind("<Return>",cb2) b3 = Button(root,text="Button3",command=cb3) b1.pack() b2.pack() b3.pack() b2.focus_set() ''' ''' 6、依旧是控件焦点,按下enter后,输出一系列信息,event函数的信息 def printEventInfo(event): print('event.time = ',event.time) print('event.type = ',event.type) print('event.Widgetld = ',event.widget) print('event.KeySymbol = ',event.keysym) but = Button(root,text = "Infomation") but.bind("<Return>",printEventInfo) but.pack() but.focus_set() ''' #若将Return换成Enter,鼠标移至button处,就会printEventInfo,打印出信息 root.mainloop()
后续参考:
http://blog.csdn.net/aa1049372051/article/details/51859476
#http://blog.csdn.net/aa1049372051/article/details/51859476 ''' 7、一共三种方式指定button的宽和高 一、button内设置width和height属性 二、使用属性来指定 三、使用configure方法来指定 b1 = Button(root,text="but1",width=30,height=2) b1.pack() b2 = Button(root,text="but2") b2['width'] = 30 b2['height'] = 2 b2.pack() b3 = Button(root,text="but3") b3.configure(width=30,height=2) b3.pack() ''' ''' 8、anchor指button的文本所在控件的位置,nsew for a in ['n','s','e','w','ne','nw','se','sw']: Button(root, text = "anchor", anchor = a, width = 30, height = 3).pack() 以上为简化代码√ ''' ''' 9、改变前景色和背景色 bfg = Button(root,text="change boreground",fg = "red") bfg.pack() bbg = Button(root,text="change background",bg = "blue") bbg.pack() ''' ''' 10、bd=bordwidth指边框宽度,缺省值为1或2个像素 for b in [0,1,2,3,4]: Button(root, text=str(b), bd=b).pack() ''' ''' 11、button风格,relief同上2 ''' ''' 12、button的状态,三种 def statePrint(): print("state") for r in ['normal','active','disabled']: Button(root, text = r, state = r, width = 30, command = statePrint).pack() ''' ''' 13、绑定button与变量,变量变化,button变化;button变化,变量变化 def changeText(): if b['text'] == 'text': v.set('change') print('change') else: v.set('text') print('text') v = StringVar() b = Button(root,textvariable=v,command=changeText) v.set('text') b.pack() '''