zoukankan      html  css  js  c++  java
  • tkinter学习-- 六、Radiobutton(单选按钮)与checkbutton(复选按钮)

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

             

      

  • 相关阅读:
    dom event 笔记
    提交安钮 提交一次加了 59秒倒计时
    时间倒计时
    把表单数据封装成json格式 插件可用
    dbgrid显示access备注信息
    stringgird中使用TClientDataSet排序的问题
    【单位矩阵】【杭电OJ1575】
    【矩阵快速幂】【杭电OJ1757】
    【关键路径】【拓扑排序+逆拓扑排序】【转】
    【拓扑排序】【关键路径】
  • 原文地址:https://www.cnblogs.com/yescarf/p/13898197.html
Copyright © 2011-2022 走看看