您的位置:首页 > 编程语言 > Python开发

python GUI--Tkinter(2):控件Button、Checkbutton、Radiobutton

2018-12-23 03:32 363 查看

一 、控件Button、Checkbutton、Radiobutton
这3中控件都是按键控件
区别在于:
Button是一般的按键,按键按下后通过传入的回调函数实现按键效果
Checkbutton 可以用于实现选项选择
Radiobutton 可以实现对个选项中的单选

1、Button
对于Button控件,常用的控件属性如下:
anchor
类型:常量;
说明:控制按钮上内容的位置。使用N, NE, E, SE, S, SW, W, NW, or CENTER这些值之一。默认值是CENTER。
borderwidth (bd) :
类型:整数;
按钮边框的宽度。默认值与特定平台相关。但通常是1或2象素。按钮边 框的宽度。默认值与特定平台相关。但通常是1或2象素。
command
类型:回调;
说明:当按钮被按下时所调用的一个函数或方法。所回调的可以是一个函数、方法或别的可调用的Python对象。
justify
类型:常量;
说明:定义多行文本如何对齐。可取值有:LEFT, RIGHT, CENTER。
cursor
类型:光标;
说明:当鼠标移动到按钮上时所显示的光标。
font
类型:字体;
说明:按钮所使用的字体。按钮只能包含一种字体的文本。
padx, pady
类型:距离;
说明:指定文本或图象与按钮边框的间距。
relief
类型:常量;
说明:边框的装饰。
可能取值有GROOVE, RIDGE, FLAT,RAISED,SUNKEN。
state
类型:常量;
说明:按钮的状态:NORMAL, ACTIVE 或 DISABLED。默认值为NORMAL。
width, height
类型:距离;
说明:按钮的尺寸。如果按钮显示文本,尺寸使用文本的单位。如果按钮显示图象,尺寸以象素为单位(或屏幕的单位)。如果尺寸没指定,它将根据按钮的内容来计算。

#coding=utf-8
from Tkinter import *

#创建容器

tk=Tk()
tk.title("我的GUI界面学习")
#主界面容器
mainfarm=Frame()
mainfarm.pack()

lab1=Label(mainfarm,text="你好,这是我的第一个GUI界面")
lab1.pack()
def button1back_handle():
print "button1 down"

val=IntVar()
button1=Button(mainfarm,text="BUTTON1",   #将按键放在主控件区域,并命名为"BUTTON1"
anchor="n",                #按键文本位置为n
bd=5,                      #将borderwidth(边框宽度)设置为5
command=button1back_handle,#传入回调函数
justify="left",            #按键文本为左对齐
cursor="right_ptr",        #将光标移动至按键时的显示修改为
font=("宋体",15,"bold","italic"),   #设置按键的字体、大小、加粗、斜体
padx=5, pady=5,            #指定按键文本或图像距离边框的距离
relief=RAISED,             #指定按键的样式
state=ACTIVE,              #指定按键的状态
width=10, height=1,        #制定按键的宽、高
#wraplength=0,              #确定按键文本何时被调整为多行
)
button1.pack()

mainloop()

2、Checkbutton
Checkbutton用来实现选项的选择,也可以传入回调函数,使用普通按键Button用的控件属性

#coding=utf-8
from Tkinter import *

#创建容器

tk=Tk()
tk.title("我的GUI界面学习")
#主界面容器
mainfarm=Frame()
mainfarm.pack()

lab1=Label(mainfarm,text="你好,这是我的第一个GUI界面")
lab1.pack()
def button1back_handle():
print "button1 down"
button2val=IntVar()
button2=Checkbutton(mainfarm,
text='BUTTON2',
variable=button2val,  #variable为按键的状态值
anchor="n",  # 按键文本位置为n
bd=5,  # 将borderwidth(边框宽度)设置为5
command=button1back_handle,  # 传入回调函数
justify="left",  # 按键文本为左对齐
cursor="right_ptr",  # 将光标移动至按键时的显示修改为
font=("宋体", 15, "bold", "italic"),  # 设置按键的字体、大小、加粗、斜体
padx=5, pady=5,  # 指定按键文本或图像距离边框的距离
relief=RAISED,  # 指定按键的样式
state=ACTIVE,  # 指定按键的状态
width=10, height=5,  # 制定按键的宽、高
)
button2.pack()
#为了看到按键值使用Lable控件显示下按键的值
Label(mainfarm,textvariable=button2val).pack()
mainloop()

3Radiobutton
Radiobutton主要实现多个选项中的单选。也可以传入回调函数,使用普通按键Button用的控件属性

#coding=utf-8
from Tkinter import *

#创建容器

tk=Tk()
tk.title("我的GUI界面学习")
#主界面容器
mainfarm=Frame()
mainfarm.pack()

lab1=Label(mainfarm,text="你好,这是我的第一个GUI界面")
lab1.pack()
def button1back_handle():
print "button1 down"

buttonval=IntVar()
button3=Radiobutton(mainfarm,
text='BUTTON3',
variable=buttonval,  #variable为按键的状态值
anchor="n",  # 按键文本位置为n
bd=5,  # 将borderwidth(边框宽度)设置为5
command=button1back_handle,  # 传入回调函数
width=10, height=1,  # 制定按键的宽、高
value=1              #通过value的不同来区别不同的选项,所以多个选项间这个值不能相同,不一定是常数
)
button4=Radiobutton(mainfarm,
text='BUTTON4',
variable=buttonval,  #variable为按键的状态值
anchor="n",  # 按键文本位置为n
bd=5,  # 将borderwidth(边框宽度)设置为5
command=button1back_handle,  # 传入回调函数
width=10, height=1,  # 制定按键的宽、高
value=2              #通过value的不同来区别不同的选项,所以多个选项间这个值不能相同,不一定是常数
)
button5=Radiobutton(mainfarm,
text='BUTTON5',
variable=buttonval,  #variable为按键的状态值
anchor="n",  # 按键文本位置为n
bd=5,  # 将borderwidth(边框宽度)设置为5
command=button1back_handle,  # 传入回调函数
padx=5, pady=5,  # 指定按键文本或图像距离边框的距离
width=10, height=1,  # 制定按键的宽、高
value=3              #通过value的不同来区别不同的选项,所以多个选项间这个值不能相同,不一定是常数
)
button3.pack()
button4.pack()
button5.pack()
#为了看到按键值使用Lable控件显示下按键的值
Label(mainfarm,textvariable=buttonval).pack()

使按键在有效和无效之间装换:

from Tkinter import *
def back():
if( b2['state']==DISABLED):
b2['state']=NORMAL
else :
b2['state'] = DISABLED
b1=Button(text="b1",command=back)
b1.pack()
b2=Button(text="b2")
b2.pack()
mainloop()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐