zoukankan      html  css  js  c++  java
  • [Python] Tkinter的食用方法_02_LabelFrame RadioButton CheckButton

    #开始

      Python的话 我是看的小甲鱼的视频 所以代码也是小甲鱼的修改版 本博客这里只是学习记录

      小甲鱼是个很棒的老师,虽然经常飙车....

    #第一个代码

      

    from tkinter import *
    
    root = Tk();
    
    v = IntVar();    #创建一个Int对象用于绑定选择框的状态
    
    c = Checkbutton(root,text="测试按钮",variable=v);    #创建一个CHeckbutton 设定归属于root 
    c.pack();
    
    l = Label(root,textvariable=v);    #每次修改选择框的状态之后这里的变量v会实时改变
    l.pack();
    
    mainloop();

    结果: 

      

    #第二个代码 (这里使用了循环实现了放置多个组件)

      

    from tkinter import *
    
    root = Tk();
    
    numbers = ["1","2","3","4"];    #定义一个 列表储存文本内容
    
    v = [];    #用来保存每一个选择框所对应的状态 本代码中添加了四个元素
    
    for num in numbers:
        v.append(IntVar());    #为每一个选择框在v列表中创建一个状态变量
        b = Checkbutton(root,text=num,variable=v[-1]);    #并且每创建一个选择框在v列表中对应的都是最后一个
        b.pack(anchor = W);    #设置布局位置
    
    mainloop();

      

    b.pack(anchor = W); 这一行中的W指的是左边对齐 W指的是西边 相应的 N,S,W,E 表示上北下南左西右东

    结果:
       

      

    #第三个代码(单选框)

      

    from tkinter import *;
    
    root = Tk();
    
    v = IntVar();
    
    #简单暴力 直接创建三个单选框
    Radiobutton(root,text="1",variable = v,value=1).pack(anchor=W);
    Radiobutton(root,text="2",variable = v,value=2).pack(anchor=W);
    Radiobutton(root,text="3",variable = v,value=3).pack(anchor=W);
    # text是显示文本 variable绑定一个Int对象 三个单选框value的值不一样的话 表示选择那个就把那个的value值赋值给v
    mainloop();
    结果: 
      

      

    #第四个代码

     

    from tkinter import *;
    
    root = Tk();
    
    LANGS = [
        ("Python",1),
        ("Perl",2),
        ("Ruby",3),
        ("Lua",4),
        ];    #列表包含元祖的方式
    
    v = IntVar();
    v.set(1);    #默认选择
    
    for lang,num in LANGS:
        Radiobutton(root,text=lang,variable=v,value=num,indicatoron=False).pack(fill=X);
        #循环创建 indicatoron表示取消圆点图标 区别见下图 
    
    mainloop();

    pack()函数里面参数的解释: (参考链接: https://www.douban.com/note/338163933/)

    fill=X 当GUI窗体大小发生变化时,widget在X方向跟随GUI窗体变化
    fill=Y 当GUI窗体大小发生变化时,widget在Y方向跟随GUI窗体变化
    fill=BOTH 当GUI窗体大小发生变化时,widget在X、Y两方向跟随GUI窗体变化

    结果: 

      

      注意显示风格被修改了 其次还有布局方式

      

    #第五个代码

      

    from tkinter import *;
    
    root = Tk();
    
    group = LabelFrame(root,text="最好的语言是?",padx=5,pady=5);    #创建一个标签框架 padx和pady表示框架内内容顶部5像素 左部5像素间距
    group.pack(padx=10,pady=10);    #表示框架顶部10像素 左部10像素间距
    
    LANGS = [
        ("Python",1),
        ("Perl",2),
        ("Ruby",3),
        ("Lua",4),
        ];
    
    v = IntVar();
    
    for lang,num in LANGS:
        Radiobutton(group,text=lang,variable=v,value=num).pack(anchor=W);    #修改了单选框的归属
    
    mainloop();

    结果: 

      

      突然感觉逼格高了...

    大概就这样了 晚安...

  • 相关阅读:
    卷积神经网络
    自适应学习率调整:AdaDelta
    协同过滤推荐算法总结
    深入FM和FFM原理与实践
    一些关于量化交易的书籍清单(转)
    矩阵分解在协同过滤推荐算法中的应用
    交替最小二乘ALS
    Mocha的单元测试实战
    Fis3前端工程化之项目实战
    Fis3的前端工程化之路[三大特性篇之声明依赖]
  • 原文地址:https://www.cnblogs.com/cjdty/p/10328635.html
Copyright © 2011-2022 走看看