第4章 功能按钮Button
4-1 功能按钮基本概念
功能按钮也可称作按钮,在窗口组件中可以设计在单击功能按钮时,执行某一个特定的动作,这个动作也称为callback方法,也就是说我们可以将功能按钮当作用户与程序间沟通的桥梁。功能按钮上面可以有文字,或是和标签一样可以有图像,如果是文字样式的功能按钮,可以设定此文字的字形。
它的语法格式如下。
Button( )方法的第一个参数是父对象,表示这个功能按钮将建立在哪一个窗口内。下列是Button( )方法内其他常用的options参数。
(1)borderwidth或bd:边界宽度默认是两个像素。
(2)bg或background:背景色彩。
(3)command:单击功能按钮时,执行此方法。
(4)cursor:当鼠标光标移至按钮上时的形状。
(5)fg或foreground:前景色彩。
(6)font:字形。
(7)height:高,单位是字符高。
(8)highlightbackground:当功能按钮取得焦点时的背景颜色。
(9)highlightcolor:当功能按钮取得焦点时的颜色。
(10)image:功能钮上的图像。
(11)justify:当有多行文字时,最后一行文字的对齐方式。
(12)padx:默认是1,可设置功能按钮与文字的间隔。
(13)pady:默认是1,可设置功能按钮的上下间距。
(14)relief:默认是relief=FLAT,可由此控制文字外框。
(15)state:默认是state=NORMAL,若设置为DISABLED则以灰阶显示功能按钮,表示暂时无法使用。
(16)text:功能按钮名称。
(17)underline:可以设置第几个文字有下画线,从0开始算起,默认是-1表示无下画线。
(18)width:宽,单位是字符宽。
(19)wraplength:限制每行的文字数,默认是0,表示只有“\n”才会换行。
程序实例ch4_1.py:当单击功能按钮时可以显示字符串“I love Python”,底色是浅黄色,字符串颜色是蓝色。
执行结果
上述程序的运行方式是在程序执行时第10行建立了一个不含属性的标签对象label,第12行建立一个功能按钮。单击“打印消息”按钮时,会启动msgShow函数,然后此函数会执行设置标签对象label的内容。过去我们学Label时,一次使用Label( )方法设置所有的属性,以后读者可以参考第5~8行的方式,分别设置属性内容。
我们在2-13节有学过config( )方法,也可以使用该节中的方法一次设置所有的Widget控件属性。
程序实例ch4_2.py:使用config( )方法取代第5~7行,重新设计程序实例ch4_1.py。
执行结果 与ch4_1.py相同。
程序实例ch4_3.py:扩充设计ch4_2.py,若单击“结束”按钮,窗口可以关闭。
执行结果
上述第11行的root.destroy可以关闭root窗口对象,同时程序结束。另一个常用的方法是quit,可以让Python Shell内执行的程序结束,但是root窗口则继续执行,后面会做实例说明。
程序实例ch4_4.py:重新设计ch2_23.py定时器程序设计,添加“结束”按钮,单击“结束”按钮则程序执行结束。
执行结果
程序实例ch4_5.py:在窗口右下角有三个按钮,单击Yellow按钮可以将窗口背景设为黄色,单击Blue按钮可以将窗口背景设为蓝色,单击Exit按钮可以结束程序。
执行结果