tkinter -- RadioButton
时间:2022-06-05
本文章向大家介绍tkinter -- RadioButton,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Radiobutton 为单选按钮,即在同一组内只能有一个按钮被选中,每当选中组内的一个按钮时,其它的按钮自动改为非选中态,与其他控件不同的是:它有组的概念
不指定绑定变量,每个Radiobutton自成一组
创建一个简单的Radiobutton
示例:
import tkinter as tk
root = tk.Tk()
tk.Radiobutton(root, text='python').pack()
tk.Radiobutton(root, text='tkinter').pack()
tk.Radiobutton(root, text='py3study').pack()
root.mainloop()
效果:
创建一个 Radiobutton 组,使用绑定变量来设置选中的按钮
示例:
import tkinter as tk
root = tk.Tk()
v = tk.IntVar()
# 选中value=1的按钮
v.set(1)
for i in range(3):
tk.Radiobutton(root, variable=v, text='py3study', value=i).pack()
root.mainloop()
效果:
创建两个不同的组
代码:
import tkinter as tk
root = tk.Tk()
v1 = tk.IntVar()
v2 = tk.IntVar()
v1.set(1)
v2.set(2)
# 创建两个组
for v in [v1, v2]: # v1,v2为实例化IntVar的对象
# 每个组含有3个按钮
for i in range(3):
tk.Radiobutton(root, variable=v, text='py3study'+str(i), value=i).pack()
root.mainloop()
效果:
不同的组,各个按钮互相不影响
如果同一个组中的按钮使用相同的 alue,则这两个按钮的工作方式完全相同
代码:
import tkinter as tk
root = tk.Tk()
v = tk.IntVar()
v.set(1)
# 每个组含有3个按钮
# 设置value = 1
for i in range(3):
tk.Radiobutton(root, variable=v, text='py3study'+str(i), value=1).pack()
for i in range(3):
tk.Radiobutton(root, variable=v, text='py3study'+str(2+i), value=i).pack()
root.mainloop()
效果:
上述的例子中共有4个 alue 为1的值,当选中其中的一个时,其他三个也会被选中;选中除了这四个只外的按钮时,四个按钮全部取消
与 Checkbutton 类似,每个 Radiobutton 可以有自己的处理函数,每当点击按钮时,系统会调用相应的处理函数
代码:
import tkinter as tk
root = tk.Tk()
v = tk.IntVar()
v.set(0)
def r1():
print('call r1')
def r2():
print('call r2')
def r3():
print('call r3')
def r4():
print('call r4')
i = 0
for r in [r1, r2, r3, r4]:
tk.Radiobutton(root, variable=v, text='py3study button', value=i, command=r).pack()
tk.Radiobutton(root, variable=v, text='py3study button', value=i, command=r).pack()
i += 1
root.mainloop()
效果:
注意虽然同时可以选中两个按钮,但每次点击按钮,执行的代码只有一次
Radiobutton 另一个比较实用的属性是 indicatoron,缺省情况下为1,如果将这个属性改为0,则其外观是 Sunken
代码:
import tkinter as tk
root = tk.Tk()
v = tk.IntVar()
v.set(1)
for i in range(3):
tk.Radiobutton(root, variable=v, indicatoron=0, text='py3study & tkinter', value=i).pack()
root.mainloop()
效果:
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 虚拟机--python环境配置
- 利用装饰器计算函数运行的时间
- 【猫狗数据集】谷歌colab之使用pytorch读取自己数据集(猫狗数据集)
- python wraps的作用
- paddlepaddle中文词法分析LAC
- python *args,**kwargs参数
- (一)django创建
- PaddleHub提供的ERNIE进行文本分类
- (二)django--带APP的网站
- Spring Boot 自定義 HttpMessageConverter 解決 String 類型返回JSON對象問題
- spring之为级联集合属性进行赋值
- springmvc之HiddenHttpMethodFilter配置使用POST、GET、DELETE、PUT请求
- springmvc之使用@RequestParam绑定请求参数
- hadoop完全分布式之集群分发脚本
- 牛逼!9种方法让你访问Github提速到2MB/s!