zoukankan      html  css  js  c++  java
  • 【Python66--checkbutton&】

    一、定义:Checkbutton组件用于实现是否选择的按钮

    二、作用:使用Checkbutton,必须创建一个tkinter变量用于存放按钮的状态:v=IntVar()

    from tkinter import *
    root = Tk()
    #存放选中的状态
    v = IntVar()
    c = Checkbutton(root,text="测试一下",variable=v).pack()
    #选中未选中V的表现状态
    l=Label(root,textvariable=v).pack() #textvariale:checkbutton显示Tkinter变量,如果变量被修改,checkbutton的文本会自动更新
    
    mainloop()

    执行结果:

     1、默认设置为选择状态,采用:变量var.set("T")

    var=StringVar()
    var.set("T")

    执行结果:

    2、默认情况下,variable 选项设置为 1 表示选中状态,反之设置为 0。你可以使用 onvalue 和 offvalue 选项修改它们的值由,例如下边代码,只要 var 被设置为“T”即选中状态,设置为“F”则相反

    from tkinter import *
    root = Tk()
    #存放选中的状态
    v = StringVar()
    v.set("T")
    c = Checkbutton(root,text="测试一下",variable=v,onvalue="T",offvalue="F").pack()
    #选中未选中V的表现状态
    l=Label(root,textvariable=v).pack() #textvariale:checkbutton显示Tkinter变量,如果变量被修改,checkbutton的文本会自动更新
    
    mainloop()

    三、练习1:选择四大美女

    from tkinter import *
    
    root = Tk()
    
    #选项列表
    GIRLS=["西施","貂蝉","王昭君","杨玉环"]
    #勾选的状态存放列表
    v=[]
    
    #循环选择
    for girl in GIRLS:
        v.append(IntVar()) #每次点击以后,在状态列表增加一项
        b=Checkbutton(root,text=girl,variable=v[-1])#variable=v[-1]:每次拿到最后一个元素
        b.pack(anchor=W)#anchor=W:左对齐
    mainloop()

    执行结果:

     四、方法

    deselect()
    -- 取消 Checkbutton 组件的选中状态,也就是设置 variable 为 offvalue。

    flash()
    -- 刷新 Checkbutton 组件,该方法将重绘 Checkbutton 组件若干次(在 ACTIVE 和 NORMAL 状态间切换)。

    invoke()
    -- 调用 Checkbutton 中 command 选项指定的函数或方法,并返回函数的返回值。
    -- 如果 Checkbutton 的状态是 DISABLED(不可用)或没有指定 command 选项,则该方法无效。

    select()
    -- 将 Checkbutton 组件设置为选中状态,也就是设置 variable 为 onvalue。

    toggle()
    -- 切换 Checkbutton 组件的状态(选中 -> 未选中 / 未选中 -> 选中)

  • 相关阅读:
    Mac OS中使用VScode配置C语言开发环境
    图形数据库(GraphDB)
    将博客搬至CSDN
    Nodejs课堂笔记-第四课 Dynamodb为何物
    Nodejs课堂笔记-第三课 构建一个nodejs的Docker镜像
    Nodejs课堂笔记-第二课 package.json的作用
    MyBatis 3(中文版) 第四章 使用注解配置SQL映射器
    idea hibernate jpa 生成实体类
    Maven常用配置
    spring发送邮件
  • 原文地址:https://www.cnblogs.com/frankruby/p/10561126.html
Copyright © 2011-2022 走看看