python GUI--Tkinter(2):控件Button、Checkbutton、Radiobutton
一 、控件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()
- 鱼c笔记——Python的GUI编程(三):Tkinter的三个组件Checkbutton、Radiobutton和Labelframe
- Python -- Gui编程 -- Tkinter的使用 -- 基本控件
- Python--Tkinter之 Button()/Checkbutton()/Radiobutton()
- Android第四讲——常用的基本控件(一)TextView、EditText、Button、RadioButton、CheckButton、ImageView
- Python的GUI编程(四)CheckButton(多选)、RadioButton(单选)
- Python Tkinter GUI 常用控件(后续整理加入了几个pmw的控件)
- 【python-GUI-tkinter】控件基础(3.6.2)
- Python:GUI之tkinter学习笔记1控件的介绍及使用
- Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(Button的command/Label/PhotoImage/封装为类)——Jason niu
- Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(LabelFrame/Checkbutton/Radiobutton)——Jason niu
- 鱼c笔记——Python的GUI编程(二):Tkinter的两大常用组件Label和Button
- Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(Button展示图片事件/)——Jason niu
- Python3 Tkinter基础 Radiobutton 设置indicatoron=False 改变按钮的外观 从圆形变为button的形状
- Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(Entry/Entry的Command)——Jason niu
- Tkinter 8.5 参考手册: a GUI for Python (五)3
- 《机器学习实战》第九章学习笔记(使用Python的Tkinter库创建GUI)
- Python:Tkinter之Radiobutton
- Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(text.insert/link各种事件)——Jason niu
- Python GUI (Tkinter)
- python图形界面GUI编程之tkinter布局