11 Radiobutton组件

news2024/12/23 17:02:23

11 Radiobutton组件

Tkinter 是 Python 的标准图形用户界面库,它提供了一个 Radiobutton 控件,用于在一组选项中让用户选择一个选项。Radiobutton 通常用于提供一组互斥的选项,用户只能选择其中一个。

Radiobutton 组件基础

Radiobutton 控件通常与一个变量(通常是 IntVarStringVar)一起使用,该变量保存当前选中的值。当一个 Radiobutton 被选中时,它会更新这个变量的值。

Radiobutton 组件属性

  • variable: 与 Radiobutton 关联的变量,用于存储当前选中的值。
  • value: 当 Radiobutton 被选中时,variable 变量将被设置的值。
  • text: Radiobutton 旁边显示的文本。
  • command: 当 Radi按钮被选中时,会调用的回调函数。
  • indicatoron: 控制 Radiobutton 的指示器(圆圈)是否显示。
  • onvalueoffvalue: 分别设置变量的值当 Radiobutton 被选中和未被选中时。

两种形状的 Radiobutton

圆形 Radiobutton

圆形 Radiobutton 是 Tkinter 默认的样式。下面是一个创建圆形 Radiobutton 的示例代码:

在这里插入图片描述

import tkinter as tk  # 导入tkinter模块,并给它一个简短的别名tk

# 创建主窗口
root = tk.Tk()  # 创建Tkinter的主窗口实例
root.title("圆形 Radiobutton 示例")  # 设置窗口标题为“圆形 Radiobutton 示例”

# 创建一个 StringVar 对象,用于存储 Radiobutton 的值
radio_var = tk.StringVar()  # 创建一个StringVar对象,它用于存储Radiobutton的值,并且当值改变时可以通知界面更新

# 创建圆形 Radiobutton 控件
radio1 = tk.Radiobutton(root, text="选项 1", variable=radio_var, value="1")  # 创建第一个Radiobutton,设置文本为“选项 1”,与radio_var变量关联,选中时变量值为"1"
radio1.pack()  # 使用pack布局管理器将第一个Radiobutton添加到窗口中

radio2 = tk.Radiobutton(root, text="选项 2", variable=radio_var, value="2")  # 创建第二个Radiobutton,设置文本为“选项 2”,与radio_var变量关联,选中时变量值为"2"
radio2.pack()  # 使用pack布局管理器将第二个Radiobutton添加到窗口中

radio3 = tk.Radiobutton(root, text="选项 3", variable=radio_var, value="3")  # 创建第三个Radiobutton,设置文本为“选项 3”,与radio_var变量关联,选中时变量值为"3"
radio3.pack()  # 使用pack布局管理器将第三个Radiobutton添加到窗口中

# 启动事件循环
root.mainloop()  # 进入Tkinter的事件循环,使窗口保持打开状态并响应事件

矩形 Radiobutton

使用 tk.Radiobutton 控件创建看起来像矩形的 Radiobutton。关键在于使用 indicatoron=False 参数隐藏了默认的圆圈指示器,从而使得 Radiobutton 控件看起来更接近矩形形状。
在这里插入图片描述

import tkinter as tk   # 导入tkinter模块,并给它一个简短的别名tk

# 创建主窗口
root = tk.Tk()   # 创建Tkinter的主窗口实例
root.title("矩形 Radiobutton 示例")   # 设置窗口标题为“矩形 Radiobutton 示例”

# 创建一个 StringVar 对象,用于存储 Radiobutton 的值
radio_var = tk.StringVar()   # 创建一个StringVar对象,它用于存储Radiobutton的值,并且当值改变时可以通知界面更新

# 创建 Radiobutton 控件
# 第一个参数是父容器,这里是 root
# text 参数是显示的文本
# variable 参数是与 Radiobutton 关联的变量
# value 参数是当这个 Radiobutton 被选中时,variable 变量的值
# indicatoron 参数设置为 False,隐藏默认的圆圈指示器
radio1 = tk.Radiobutton(root, text="选项 1", variable=radio_var, value="1", indicatoron=False)   # 创建第一个Radiobutton,设置文本为“选项 1”,与radio_var变量关联,选中时变量值为"1",隐藏圆圈指示器
radio1.pack()   # 使用pack布局管理器将第一个Radiobutton添加到窗口中

radio2 = tk.Radiobutton(root, text="选项 2", variable=radio_var, value="2", indicatoron=False)   # 创建第二个Radiobutton,设置文本为“选项 2”,与radio_var变量关联,选中时变量值为"2",隐藏圆圈指示器
radio2.pack()   # 使用pack布局管理器将第二个Radiobutton添加到窗口中

radio3 = tk.Radiobutton(root, text="选项 3", variable=radio_var, value="3", indicatoron=False)   # 创建第三个Radiobutton,设置文本为“选项 3”,与radio_var变量关联,选中时变量值为"3",隐藏圆圈指示器
radio3.pack()   # 使用pack布局管理器将第三个Radiobutton添加到窗口中

# 启动事件循环
root.mainloop()   # 进入Tkinter的事件循环,使窗口保持打开状态并响应事件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2036566.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CMake详解-捡重要的讲

CMake 通常我们使用cmake构建C++项目,其实就是编写CMakeLists.txt文件,过程如下 首先在创建项目名称,我这里是CMake文件夹,在路径下创建CMakeLists.txt文件,也就是在工作空间的目录下创建,具体有几个要素要设置 CMake最低版本要求项目名称-自定义即可编译方法:Debug或…

html+css+js网页制作 自定义电商10个页面

htmlcssjs网页制作 自定义电商10个页面 网页作品代码简单,可使用任意HTML编辑软件(如:Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编辑等操作)。 获取源码 1&#…

前端面试题整理-Javascript

JS组成: JS是运行在浏览器的一门编程语言 函数类型: 1. 说说 js 都有哪些数据类型,他们在内存存储上有什么不同 基本数据类型:number、boolean、string、null(null就是特殊的object)、undefined、Symbo…

循环神经网络三

一.介绍 在普通的神经网络中,信息的传递是单向的,这种限制虽然使得网络变得更容易学习,单在一定程度上也减弱了神经网络模型的能力。特别是在现实生活中,网络的输出不仅和当前时刻的输入相关,也过去一段时间的输出相关…

keepalived搭建与基础配置

目录 1 keepalived部署与环境准备 1.1 Keepalived 实验环境准备 1.2 Keepalived 相关文件 1.3 Keepalived 安装 1.4 KeepAlived 配置说明 1.5 配置语法说明 2 企业应用示例与配置 2.1 主从架构 2.1.1 启用keepalived日志功能 2.1.2 vrrp_iptables 参数 2.1.3 实现独立子配置文件…

python实现模型训练期间定时查询解析GPU资源详细信息,根据实际显存占用量动态启动新模型训练任务

经常要做模型开发训练的人一定对于GPU的查询不会陌生,实例如下: 详情数据如下: Tue Aug 13 16:42:31 2024 ----------------------------------------------------------------------------- | NVIDIA-SMI 450.80.02 Driver Versi…

oracle普通导出导入

原始的普通导出导入工具,是一个客户端工具。使用导出工具(export utility简称exp)是将数据从oracle数据库以二进制形式写入操作系统文件,这个文件存储在数据库之外,并且可以被另一个数据库使用导入工具(imp…

大数据系列之:Flink Doris Connector,实时同步数据到Doris数据库

大数据系列之:Flink Doris Connector,实时同步数据到Doris数据库 一、版本兼容性二、使用三、Flink SQL四、DataStream五、Lookup Join六、配置通用配置项接收器配置项查找Join配置项 七、Doris 和 Flink 列类型映射八、使用Flink CDC访问Doris的示例九、…

Unity协程WaitForSeconds在编辑器和WebGL表现不同问题的解决方法参考

最近做的一个效果让下面为了让下面这种图片生成一个翻页效果(使用ShaderGraph中的FlipBook节点),我通过携程来实现连续翻页。 先是定义一个Coroutine coroutine null; 然后在一定情况下执行coroutine StartCoroutine(KeepPrevie…

Spring入门讲解

这里写目录标题 Spring基础概念关键重点主要特性主要优势Spring与Java EE的对比Spring生态系统概述总结 Spring 基础概念 Spring是一个开源的轻量级Java开发框架,它提供了全面的基础设施支持,简化了企业级应用的开发和部署。Spring的核心理念是依赖注入…

基于华为atlas下的yolov5+BoT-SORT/ByteTrack煤矿箕斗状态识别大探索

写在前面: 本项目的代码原型基于yolov5yolov8。其中检测模型使用的yolov5,跟踪模型使用的yolov8。 这里说明以下,为什么不整体都选择yolov8呢,v8无疑是比v5优秀的,但是atlas这块经过不断尝试没有过去,所以…

前端进行分页Vue3+Setup写法

当后端不方便提供数据分页查询接口时&#xff0c;就需要前端来自己分割进行分页操作 在有可能的情况下还是建议用分页查询接口&#xff0c;减少网络数据传输 首先el-table绑定数组 分页组件&#xff0c;变量自己定义防止报错 <el-paginationlayout"->, total, siz…

Springboot实现doc,docx,xls,xlsx,ppt,pptx,pdf,txt,zip,rar,图片,视频,音频在线预览功能,你学“废”了吗?

最近工作中&#xff0c;客户需要生成包含动态内容的word/pdf报告&#xff0c;并且需要在线预览。 刚开始使用后台直接生成word文档&#xff0c;返回文件流给前端&#xff0c;浏览器预览会发生格式错乱问题&#xff0c;特别是文档中的图片有些还不显示。 想到最简单的办法就是…

在原生未启用kdump的BCLinux 8系列服务器上启用kdump及报错处理

本文记录了在原生未启用kdump的BCLinux 8系列操作系统的服务器上手动启用kdump服务及报错处理的过程。 一、问题描述 BCLinux 8系列操作系统&#xff0c;系统初始化安装时未启用kdump服务&#xff0c;手动启动时报以下“No memory reserved for crash kernel”或“ConditionK…

数学建模——评价决策类算法(层次分析法、Topsis)

一、层次分析法 概念原理 通过相互比较确定各准则对于目标的权重, 及各方案对于每一准则的权重&#xff0c;这些权重在人的思维过程中通常是定性的, 而在层次分析法中则要给出得到权重的定量方法. 将方案层对准则层的权重及准则层对目标层的权重进行综合, 最终确定方案层对目标…

解读RPA自动化流程机器人

RPA全称Robotic Process Automation&#xff0c;即机器人流程自动化&#xff0c;基于人工智能和自动化技术&#xff0c;能够将大量重复、规则明确的日常事务操作实现自动化处理&#xff0c;通常被形象地称为“数字员工”。本文金智维将深入探讨RPA的主要价值和应用领域&#xf…

除悟空CRM外,主流的6大CRM私有部署的厂商

支持私有化部署的CRM有&#xff1a;1.纷享销客&#xff1b; 2.悟空CRM&#xff1b; 3.销售易&#xff1b; 4.有赞CRM&#xff1b; 5.知客CRM&#xff1b; 6.八骏CRM&#xff1b; 7.白码CRM。 面对日益复杂的网络环境和严峻的数据保护法规&#xff0c;私有化部署的CRM系统成为了…

论文阅读笔记:Semi-DETR: Semi-Supervised Object Detection with Detection Transformers

论文阅读笔记&#xff1a;Semi-DETR: Semi-Supervised Object Detection with Detection Transformers 1 背景1.1 动机1.2 问题 2 创新点3 方法4 模块4.1 分阶段混合匹配4.2 跨视图查询一致性4.3 基于代价的伪标签挖掘4.4 总损失 效果5.1 和SOTA方法对比5.2 消融实验 论文&…

Flink开发过程中遇到的问题

1. 任务启动报错Trying to access closed classloader. Exception in thread "Thread-5" java.lang.IllegalStateException: Trying to access closed classloader. Please check if you store classloaders directly or indirectly in static fields. If the st…

基于PSO-BP+BP多特征分类预测对比(多输入单输出) Matlab代码

基于PSO-BPBP多特征分类预测对比(多输入单输出) Matlab代码 1、和市面上的不同&#xff0c;运行一个main一键出对比图&#xff0c;非常方便 2、可以根据需要定制其他算法优化模型对比 程序已经调试好&#xff0c;无需更改代码替换数据集即可运行&#xff01;&#xff01;&…