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()对象获得的值进行判断等操作