• 【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 组件的状态(选中 -> 未选中 / 未选中 -> 选中)

  • 相关阅读:
    在项目中运用到的导航高亮
    【转载】IE8 inlineblock容器不撑开问题(利用重绘解决)
    我的博客正式开通
    【转载】响应式网页设计的9条基本原则
    一款不错的在线SVG制作工具
    【转载】前端不为人知的一面前端冷知识集锦
    11.3 Daily Scrum
    11.11 Daily Scrum
    11.7 Daily Scrum(周末暂停两天Daily Scrum)
    11.12 Daily Scrum(保存草稿后忘了发布·····)
  • 原文地址:https://www.cnblogs.com/frankruby/p/10561126.html
Copyright © 2020-2023  润新知