Button 组件

一个简单的Button按钮,代码:

1 #!/usr/bin/python
 2 # -*- coding:utf-8 -*-
 3 
 4 from Tkinter import *
 5 root = Tk()
 6 def print_hello():
 7     print 'Hello World!!!'
 8 
 9 Button(root, text = 'text', command = print_hello ).pack()   
10 
11 
12 root.mainloop()

运行结果:

python Button无效 python button relief_Desktop

 

2. Button 的 relief 属性

relief 用于显示Button的不同显示效果

relief属性包括:flat , groove, raised, ridge,solid, sunken .显示效果如图

python Button无效 python button relief_python Button无效_02

#!/usr/bin/python
# -*- coding:utf-8 -*-

from Tkinter import *
root = Tk()
def print_hello():
    print 'Hello world'
Button(root, text = 'text1', command = print_hello, relief = FLAT ).pack()
Button(root, text = 'text2', command = print_hello, relief = GROOVE).pack()
Button(root, text = 'text3', command = print_hello, relief = RAISED ).pack()
Button(root, text = 'text4', command = print_hello, relief = RIDGE ).pack()
Button(root, text = 'text5', command = print_hello, relief = SOLID ).pack()
Button(root, text = 'text6', command = print_hello, relief = SUNKEN ).pack()

root.mainloop()

3. Button 同样可以使用Image 插入图片:

python Button无效 python button relief_SOLID_03

1 #!/usr/bin/python
 2 # -*- coding:utf-8 -*-
 3 
 4 from Tkinter import *
 5 root = Tk()
 6 def print_hello():
 7     print 'Hello world'
 8 
 9 photo = PhotoImage(file = 'C:\\Users\\Administrator\\Desktop\\timg.gif')
10 Button(root, text = 'text1', command = print_hello, image = photo, relief = FLAT ).pack()
11 Button(root, text = 'text2', command = print_hello, image = photo, relief = GROOVE).pack()
12 Button(root, text = 'text3', command = print_hello, image = photo, relief = RAISED ).pack()
13 Button(root, text = 'text4', command = print_hello, image = photo, relief = RIDGE ).pack()
14 Button(root, text = 'text5', command = print_hello, image = photo, relief = SOLID ).pack()
15 Button(root, text = 'text6', command = print_hello, image = photo, relief = SUNKEN ).pack()
16 
17 root.mainloop()

4. Button 使用 image 也可以配合 compound 使用

python Button无效 python button relief_python_04

 

1 #!/usr/bin/python
 2 # -*- coding:utf-8 -*-
 3 
 4 from Tkinter import *
 5 root = Tk()
 6 def print_hello():
 7     print 'Hello world'
 8 
 9 photo = PhotoImage(file = 'C:\\Users\\Administrator\\Desktop\\timg.gif')
10 Button(root, text = 'text1', command = print_hello, image = photo, compound = 'center', relief = FLAT ).pack()
11 Button(root, text = 'text2', command = print_hello, image = photo, compound = 'top', relief = GROOVE).pack()
12 Button(root, text = 'text3', command = print_hello, image = photo, compound = 'bottom', relief = RAISED ).pack()
13 Button(root, text = 'text4', command = print_hello, image = photo, compound = 'left', relief = RIDGE ).pack()
14 Button(root, text = 'text5', command = print_hello, image = photo, compound = 'right', relief = SOLID ).pack()
15 Button(root, text = 'text6', command = print_hello, image = photo, relief = SUNKEN ).pack()
16 
17 root.mainloop()

 

5. 设置Button 的长度与高度

  width 宽度

  height 高度

  共有三种方法 :

  1.创建Button对象时,指定宽度与高度
  2.使用属性width和height来指定宽度与高度
  3.使用configure方法来指定宽度与高度

1 #!/usr/bin/python
 2 # -*- coding:utf-8 -*-
 3 
 4 from  Tkinter import *
 5 root =Tk()
 6 b1 = Button(root, text = '方法1', width = 30, height = 3).pack()
 7 
 8 b2 = Button(root, text = '方法2')
 9 b2['width'] = 30
10 b2['height'] = 3
11 b2.pack()
12 
13 b3 = Button(root,text = '方法3')
14 b3.configure(width = 30, height = 3)
15 b3.pack()
16 
17 
18 
19 root.mainloop()

python Button无效 python button relief_SOLID_05

 

6. anchor 设置文本在控件上面的位置 

使用的值为:n(north),s(south),w(west),e(east)和ne,nw,se,sw,就是地图上的标识位置了

python Button无效 python button relief_python Button无效_06

实例代码 :

1 #!/usr/bin/python
 2 # -*- coding:utf-8 -*-
 3 
 4 from Tkinter import *
 5 root = Tk()
 6 
 7 for a in ['n','w','e','s','ne','nw','se','sw']:
 8     Button(root,text = 'anchor', \
 9            anchor = a,\
10            width = 30,\
11            height = 3).pack()
12 
13 
14 
15 root.mainloop()

python Button无效 python button relief_Desktop_07

7. 设置按钮边框  用bd属性

bd值为 0 -10的时候 各边框图示:

1 #!/usr/bin/python
 2 # -*- coding:utf-8 -*-
 3 
 4 from Tkinter import *
 5 root = Tk()
 6 def print_hello():
 7     print 'Hello world'
 8 for a in range(11):
 9     Button(root,text = '设置边框%s' %a , command = print_hello ,bd = a).pack()
10 
11 
12 root.mainloop()

效果如图: 

python Button无效 python button relief_SOLID_08

8 设置 按钮状态 state

有 3 个值  

normal/active/disabled

python Button无效 python button relief_Desktop_09

 

1 #!/usr/bin/python
 2 # -*- coding:utf-8 -*-
 3 
 4 from Tkinter import *
 5 root = Tk()
 6 def print_hello():
 7     print 'Hello world'
 8 for a in ['normal', 'active', 'disabled']:
 9 
10     Button(root,text = '设置状态%s'%a ,command = print_hello , state = a ).pack()
11 
12 
13 root.mainloop()