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

             

      

  • 相关阅读:
    centos7 安装docker 对应的 rabbitmq3.6.15
    golang中defer的使用规则
    Yii2-redis 不用 composer 的安装
    安装并使用PHPunit
    PHP Taint – 一个用来检测XSS/SQL/Shell注入漏洞的扩展
    SQL Antipatterns——SQL 反模式(二)
    tp5 No input file specified.
    vue 封装自定义组件
    判断微信访问
    phalcon windows下安装phalcon-devtools 官网的坑
  • 原文地址:https://www.cnblogs.com/yescarf/p/13898197.html
Copyright © 2011-2022 走看看