Button(按钮)详解
按钮Button控件的属性:
activebackground, activeforeground
类型:颜色;
说明:当按钮被激活时所使用的颜色。
例子:activeforeground=’red’, activebackground=’green’
anchor
类型:常量;
说明:控制按钮上内容的位置。使用N, NE, E, SE, S, SW, W, NW,or CENTER这些值之一。默认值是CENTER。
例子:anchor=’se’
background (bg), foreground (fg)
类型:颜色;
说明:按钮的颜色。默认值与特定平台相关。
例子:bg=’black’,fg=’white’
bitmap
类型:位图;
说明:显示在按钮上的位图,此属性只有在忽略 image 属性时才有用。可设置为 gray12、gray25、gray50、gray75、hourglass、error、questhead、info、warning 或 question
例子:bitmap=”question”
borderwidth (bd)
类型:整数;
说明:按钮边框的宽度。默认值与特定平台相关。但通常是1或2象素。
borderwidth=10
command
类型:回调;
说明:当按钮被按下时所调用的一个函数或方法。所回调的可以是一个函数、方法或别的可调用的Python对象。
command=button_command # 绑定普通事件,不带括号command=lambda: sum_fun(12, 13) # 绑定传参数事件
cursor
类型:光标;
说明:当鼠标移动到按钮上时所显示的光标。
cursor=”鼠标的属性值”:pencil:笔型、circle:圆形、hand1:手型1、hand2:手型2样式的值是’arrow’, ‘watch’, ‘cross’
disabledforeground
类型:颜色;
说明:当按钮无效时的颜色。
disabledforeground=’red’
font
类型:字体;
说明:按钮所使用的字体。按钮只能包含一种字体的文本。
font=(“Courier”, 20, “bold”)
highlightbackground, highlightcolor
类型:颜色;
说明:控制焦点所在的高亮边框的颜色。当窗口部件获得焦点的时候,边框为highlightcolor所指定的颜色。否则边框为highlightbackground所指定的颜色。默认值由系统所定。
highlightthickness
类型:距离;
说明:控制焦点所在的高亮边框的宽度。默认值通常是1或2象素。
image
类型:图象;
说明:在部件中显示的图象,支持png和gif格式。如果指定,则text和bitmap选项将被忽略。
p = tk.PhotoImage(file=”a.gif”)b1=tk.Button(root,height=80,width=100,image=p,command=root.destroy)b1.pack()
justify
类型:常量;
说明:定义多行文本如何对齐。可取值有:LEFT, RIGHT, 或 CENTER(默认)。
longtext = “””我明明只是一个按钮,作为按钮并不需要太多的文字用于告诉用户当我被按下的时候会发生什么事情,但我为什么这么长?”””Button(root, text=longtext, anchor=”w”, justify=”left”)
padx, pady
类型:距离;
说明:指定文本或图象与按钮边框的间距。
padx=10,pady=10
relief
类型:常量;
说明:按钮3D美化效果。通常情况下,按钮被按下时,是SUNKEN效果,释放时是RAISED效果。其他的可选项包括:GROOVE,RIDGE以及FLAT。overrelief的取值与relief一样
b1=tk.Button(root,text=’退出’,bd=10, command=root.destroy,relief=’solid’)
state
类型:常量;
说明:按钮的状态:NORMAL, ACTIVE 或 DISABLED。默认值为NORMAL。
Button(root,text=’禁止使用按钮’, state=tk.DISABLED)
takefocus
类型:标志;
说明:表明用户可以Tab键来将焦点移到这个按钮上。默认值是一个空字符串,意思是如果按钮有按键绑定的话,它可以通过所绑定的按键来获得焦点。
Button(root,text=’退出’,bd=5,command=root.destroy,takefocus=True)
text
类型:字符串;
说明:显示在按钮中的文本。文本可以是多行。如果bitmaps或image选项被使用,则text选项被忽略。
Button(root, command=click_cb, text=’点我’, bg=’white’).pack()
textvariable
类型:变量;
说明:可变文本,与StringVar等配合着用。如果这个变量的值改变,那么按钮上的文本相应更新。
text_var = StringVar() text_var.set(“点我”)Button(root, textvariable=text_var).pack()
underline
类型:整数;
说明:在文本标签中哪个字符加下划线。默认值为-1,意思是没有字符加下划线。
underline=0
width, height
类型:距离;
说明:按钮的尺寸。如果按钮显示文本,尺寸使用文本的单位。如果按钮显示图象,尺寸以象素为单位(或屏幕的单位)。如果尺寸没指定,它将根据按钮的内容来计算。
width=10, height=2
wraplength
类型:距离;
说明:确定按钮上文字超过多长时,文字会被折叠成多行。单位是像素。默认值是0.