分享

Tkinter教程之Radiobutton篇

 Mq_Guo 2017-07-23
[python] view plain copy
  1. # Tkinter教程之Radiobutton篇  
  2. # Radiobutton为单选按钮,即在同一组内只能有一个按钮被选中,每当选中组内的一个按钮时,  
  3. # 其它的按钮自动改为非选中态,与其他控件不同的是:它有组的概念  
  4. '''''1.创建一个简单的Radiobutton'''  
  5. from tkinter import *  
  6.   
  7. root = Tk()  
  8. Radiobutton(root, text='python').pack()  
  9. Radiobutton(root, text='tkinter').pack()  
  10. Radiobutton(root, text='widget').pack()  
  11.   
  12. '''''2.创建一个Radiobutton组,使用绑定变量来设置选中哦的按钮'''  
  13. # 创建一个Radiobutton组,创建三个Radiobutton,并绑定到整型变量v  
  14. # 选中value=1的按钮  
  15. v = IntVar()  
  16. v.set(1)  
  17. for i in range(3):  
  18.     Radiobutton(root, variable=v, text='python' + str(i), value=i).pack()  
  19.   
  20. '''''3.创建两个不同的组'''  
  21. vLang = IntVar()  
  22. vOS = IntVar()  
  23. vLang.set(1)  
  24. vOS.set(2)  
  25. for v in [vLang, vOS]:  # 创建两个组  
  26.     for i in range(3):  # 每个组含有3个按钮  
  27.         Radiobutton(root,  
  28.                     variable=v,  
  29.                     value=i,  
  30.                     text='python_' + str(v) + '_' + str(i)  
  31.                     ).pack()  
  32. root.mainloop()  
  33. # 不指定绑定变量,每个Radiobutton自成一组  

[python] view plain copy
  1. '''''4.如果同一个组中的按钮使用相同的alue,则这两个按钮的工作方式完全相同'''  
  2. # -*- coding: utf-8 -*-  
  3. from tkinter import *  
  4.   
  5. root = Tk()  
  6. v = IntVar()  
  7. v.set(1)  
  8. for i in range(3):  
  9.     Radiobutton(root,  
  10.                 variable=v,  
  11.                 value=1,  
  12.                 text='python_1_' + str(i)  
  13.                 ).pack()  
  14. for i in range(3):  
  15.     Radiobutton(root,  
  16.                 variable=v,  
  17.                 value=i,  
  18.                 text='python_2_' + str(2 + i)  
  19.                 ).pack()  
  20. root.mainloop()  
  21. # 上述的例子中共有4个alue为1的值,当选中其中的一个时,其他三个也会被选中;选中除了这四个只外的按钮时,四个按钮全部取消  

[python] view plain copy
  1. '''''5.与Checkbutton类似,每个Radiobutton可以有自己的处理函数,每当点击按钮时,系统会调用相应的处理函数'''  
  2. # -*- coding: utf-8 -*-  
  3. from tkinter import *  
  4.   
  5. root = Tk()  
  6. v = IntVar()  
  7. v.set(0)  
  8.   
  9.   
  10. def r1():  
  11.     print('call r1')  
  12.   
  13.   
  14. def r2():  
  15.     print('call r2')  
  16.   
  17.   
  18. def r3():  
  19.     print('call r3')  
  20.   
  21.   
  22. def r4():  
  23.     print('call r4')  
  24.   
  25.   
  26. i = 0  
  27. # 创建8个按钮,其中两个两个的value值相同  
  28. for r in [r1, r2, r3, r4]:  
  29.     Radiobutton(root,  
  30.                 variable=v,  
  31.                 text='radio button',  
  32.                 value=i,  
  33.                 command=r  
  34.                 ).pack()  
  35.     Radiobutton(root,  
  36.                 variable=v,  
  37.                 text='radio button',  
  38.                 value=i,  
  39.                 command=r  
  40.                 ).pack()  
  41.     i += 1  
  42.   
  43. root.mainloop()  
  44. # 注意虽然同时可以选中两个按钮,但每次点击按钮,执行的代码只有一次  

[python] view plain copy
  1. '''''6.Radiobutton另一个比较实用的属性是indicatoron,缺省情况下为1,如果将这个属性改为0,则其外观是Sunken'''  
  2. from tkinter import *  
  3.   
  4. root = Tk()  
  5. v = IntVar()  
  6. v.set(1)  
  7. for i in range(3):  
  8.     Radiobutton(root,  
  9.                 variable=v,  
  10.                 indicatoron=0,  
  11.                 text='python & tkinter',  
  12.                 value=i  
  13.                 ).pack()  
  14. root.mainloop()  
  15. # Radiobutton表示按钮的弹起或按下两种状态 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多