Radiobutton
Radiobutton控件用于选择同一组单选按钮中的一个。
Radiobutton可以显示文本,也可以显示图像。
v=StringVar();
v.set("F")#默认选中
r1=Radiobutton(self,text="选项a",value="M",variable=StringVar)
r2=Radiobutton(self,text="选项b",value="F",variable=StringVar)
"""测试Radiobutton组件的基本用法,使用面向对象的方式"""
#set方法和get方法
from tkinter import *
from tkinter import messagebox
class Application(Frame):
def __init__(self, master=None):
super().__init__(master) # super()代表的是父类的定义,而不是父类对象
self.master=master
self.pack()
self.createWidget()
def createWidget(self):
self.v=StringVar();
self.v.set("F")#默认选中女性
self.r1=Radiobutton(self,text="男性",value="M",variable=self.v)
self.r2=Radiobutton(self,text="女性",value="F",variable=self.v)
self.r1.pack(side="left");
self.r2.pack(side="left")
Button(self,text="确定",command=self.confirm).pack(side="left")
def confirm(self):
messagebox.showinfo("测试","选择的性别:"+self.v.get())
if __name__=='__main__':
root=Tk()
root.geometry("400x50+200+300")
app=Application(master=root)
root.mainloop()
实例:
设定默认值:StringVar().set()
通过radiobutton的选择使得variable的值等于其value值,故而重设StringVar()对应的值;可以通过get()方法获得

Checkbutton复选按钮
Checkbutton控件用于选择多个按钮的情况。
Checkbutton可以显示文本,也可以显示图像。
Checkbutton(self,text="判断题",variable=IntVar(),onvalue=1,offvalue=0)
"""测试Checkbutton组件的基本用法,使用面向对象的方式"""
from tkinter import *
from tkinter import messagebox
class Application(Frame):
def __init__(self,master=None):
super().__init__(master)#super()代表的是父类的定义,而不是父类对象
self.master=master
self.pack()
self.createWidget()
def createWidget(self):
self.codeHobby=IntVar();
self.videoHobby=IntVar()
print(self.codeHobby.get())#默认值是0
self.c1=Checkbutton(self,text="敲代码",variable=self.codeHobby,onvalue=1,offvalue=0)
self.c2=Checkbutton(self,text="看视频",variable=self.videoHobby,onvalue=1,offvalue=0)
self.c1.pack(side="left");
self.c2.pack(side="left")
Button(self,text="确定",command=self.confirm).pack(side="left")
def confirm(self):
if self.videoHobby.get()==1:
messagebox.showinfo("测试","看视频,都是正常人有的爱好!你喜欢看什么类型?")
if self.codeHobby.get()==1:
messagebox.showinfo("测试","抓获野生程序猿一只,赶紧送给他尚学堂的视频充饥")
if __name__=='__main__':
root=Tk()
root.geometry("400x50+200+300")
app=Application(master=root)
root.mainloop()
Checkbutton有选择的0,1两种状态,
参数中设定variable=IntVar()(表示整型)值, onvalue=1,offvalue=0
当点选时onvalue,offvalue的值会传递给variable,InVar(),可以通过InVar()对象获得的值进行判断等操作

