Python tkinter (5) 选项按钮与复选框

Python的标准Tk GUI工具包的接口

tkinter系列文章

python tkinter窗口简单实现

Python tkinter (1) —— Label标签

Python tkinter (2) —— Button标签

Python tkinter (3) —— Entry标签

Python tkinter (4) —— Text控件

目录

CheckButton

简单示例

获取选中

Radiobutton

简单示例

总结


CheckButton

多选框控件

简单示例

显示一个选择爱好的多选框功能,列举了三个运动选项。

示例如下:

import tkintertk = tkinter.Tk()
tk.title('checkbutton示例')
tk.geometry('300x200+200+20')check1 = tkinter.Checkbutton(tk, text='篮球')
check1.pack()
check2 = tkinter.Checkbutton(tk, text='足球')
check2.pack()
check3 = tkinter.Checkbutton(tk, text='乒乓球')
check3.pack()tk.mainloop()

效果如下:

获取选中

首先需要多选框绑定变量,每个多选框都需要绑定一个布尔值变量。

通过同一个事件对选中后情况进行判断,最后在文本控件中显示选中结果。

示例如下:

import tkintertk = tkinter.Tk()
tk.title('checkbutton示例')
tk.geometry('300x200+200+20')# 判断选中 并显示相应结果
def update_data():message = ''if hobby1.get() == True:message += "篮球\n"if hobby2.get() == True:message += "足球\n"if hobby3.get() == True:message += "乒乓球\n"# 清除text中的所有内容# 清空范围为:下标为0的第一行 到最后text1.delete(0.0, tkinter.END)text1.insert(tkinter.INSERT, message)# 绑定变量
hobby1 = tkinter.BooleanVar()
check1 = tkinter.Checkbutton(tk, text='篮球', variable=hobby1, command=update_data)
check1.pack()
hobby2 = tkinter.BooleanVar()
check2 = tkinter.Checkbutton(tk, text='足球', variable=hobby2, command=update_data)
check2.pack()
hobby3 = tkinter.BooleanVar()
check3 = tkinter.Checkbutton(tk, text='乒乓球', variable=hobby3, command=update_data)
check3.pack()# 使用文本显示选中
text1 = tkinter.Text(tk, width=100, height=5)
text1.pack()
tk.mainloop()

因为每改变一个选中,update_data函数都会对选择结果进行判断,

故需要清除以往选中显示的结果。

效果如下:

Radiobutton

简单示例

单选经典场景应该就是选性别吧;当实现两个单选后,需要把它们绑定同一个变量,这样变成同一组的选项,才可实现单选功能。下面将实现单选并打印选中变量。

示例如下:

import tkintertk = tkinter.Tk()
tk.title('Radiobutton示例')
tk.geometry('300x200+200+20')def update_date():print(rvalue.get())# 一组单选框要绑定同一个变量 成为同一组选项
rvalue = tkinter.IntVar()
radio1 = tkinter.Radiobutton(tk, text='男',value=1, variable=rvalue,command=update_date)
radio1.pack()
radio2 = tkinter.Radiobutton(tk, text='女',value=2, variable=rvalue,command=update_date)
radio2.pack()
tk.mainloop()

效果如下:

总结

本文主要是Python tkinter 单选与多选框控件介绍,简单示例。

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

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

相关文章

RBD —— Visualizing fractured geometry

RBD Exploded View(与Exploded View SOP类似)从中心炸开几何体,以更好查看被破碎和约束的碎块; 可视化高精度和低精度几何体的不同,Show Proxy Geometry显示代理几何体; Show Constraints显示约束&#xff…

深入了解 Spring ImportBeanDefinitionRegistrar

Spring Framework 提供了许多灵活的扩展机制,其中之一就是ImportBeanDefinitionRegistrar接口。这个接口允许我们在Spring的配置类中动态注册额外的Bean定义,为我们的应用程序提供更高度的灵活性。在这篇文章中,我们将深入探讨ImportBeanDefi…

6.jmeter非GUI命令及Beanshell组件

一、非GUI(界面)命令详解 1. -n 使用非gui方式,不能单独使用,必须和-t(指定jmeter的脚本)一起用。 #cmd命令行模式下,进入存放测试jmx文件的目录下 jmeter -n -t hello.jmx只会生成一个log日…

数据结构实验八:排序的应用

目录 一、实验目的 二、实验原理 1.直接插入排序 2.快速排序 三、实验内容 实验1 代码 截图 实验2 代码 截图 一、实验目的 1、掌握排序的基本概念; 2.掌握并实现以下排序算法:直接插入排序、快速排序。 二、实验原理 1.直接插…

深入了解 Spring BeanPostProcessor 的应用

Spring框架的强大之处在于其提供了丰富的扩展点,其中之一是BeanPostProcessor接口。这个接口允许我们在Spring容器实例化bean之后、在调用初始化方法之前和之后对bean进行一些自定义的处理。在这篇文章中,我们将深入研究BeanPostProcessor的使用场景&…

Vue3基础:pnpm是什么?npm和pnpm的区别?如何使用pnpm?

pnpm 是一个流行的 JavaScript 包管理器,类似于 npm 和 yarn。它是 performant npm 的缩写,意在表明它是一个更高效的 npm 替代品。pnpm 的主要特点和优势包括: 高效的存储空间使用 pnpm 使用称为“内容寻址存储”的机制来存储 npm 包。这意…

如何选择便捷安全的黄金交易平台?

黄金交易平台的介绍 黄金交易平台是一个提供方便、安全的方式进行黄金交易的网上平台。 投资者可以通过这些平台进行黄金的买卖,参与黄金市场的投资活动。 这些平台提供了一个简单易用的界面,让投资者可以方便地进行交易操作。 选择合适的黄金交易平台…

【运维】Ubuntu,如何在Ubuntu系统中编译和安装OpenCV, apt安装OpenCV

文章目录 编译安装apt安装OpenCV 在C开发中,使用OpenCV是一个常见的需求。您可以选择使用conan构建包,或者直接将OpenCV安装到系统中。官方文档提供了详细的教程,可以在这里找到:OpenCV官方文档 编译安装 然而,在这里…

小土堆pytorch学习笔记002

1、TensorBoard的使用 (1)显示坐标: from torch.utils.tensorboard import SummaryWriter import numpy as np from PIL import Imagewriter SummaryWriter("logs") # 写入的位置 log_dir logs # writer.add_image() "…

【LeetCode: 148. 排序链表 + 链表 + 归并排序】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

今天来看看工商业储能收益模式有哪些

安科瑞武陈燕acrelcy 2023 年有望成为工商业储能的发展元年,主要原因2023年工商业储能的经济性有望大幅提升。工商业储能下游主要为工商业企业,投资是否具有经济性是工商业需求的核心因素之一,而2023年工商业储能经济性或将显著提升&#xf…

shared_ptr 与 unique_ptr 的转换 笔记

推荐B站文章: 6.shared_ptr与unique_ptr_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV18B4y187uL?p6&vd_sourcea934d7fc6f47698a29dac90a922ba5a3我的往期文章: 独占指针:unique_ptr 与 函数调用-CSDN博客https://blog.csdn.n…

【Docker】构建镜像

一般来说我们不需要自己构建镜像,这些镜像在docker hub上面已经有现成的了,比如常用的数据库、应用软件等。 某些情况我们还是需要自己来构建: 找不到现成的镜像,比如自己开发的应用程序 需要在镜像中加入特定的功能/软件 Docker提供了两种…

C++入门学习(十五)运算符

算术运算符&#xff1a;用于处理四则运算赋值运算符&#xff1a;用于将表达式的值赋给变量比较运算符&#xff1a;用于表达式的比较&#xff0c;并返回一个真值或假值逻辑运算符&#xff1a;用于根据表达式的值返回真值或假值 一、加减乘除 #include <iostream> #incl…

vue和react的运行机制

Vue和React都是现代的前端框架&#xff0c;它们提供了丰富的特性和工具&#xff0c;帮助开发者构建复杂的用户界面。虽然它们有很多相似之处&#xff0c;但也有一些重要的区别&#xff0c;特别是在运行机制方面。 Vue的运行机制 Vue.js是一个渐进式JavaScript框架&#xff0c…

Ubuntu20.04 安装 ROS noetic + MAVROS

本文在 AlphaCatOvO【ROS】在 Ubuntu 20.04 安装 ROS 的详细教程 基础上&#xff0c;根据实际安装经验&#xff0c;稍微进行补充。 一、安装Ubuntu20.04 假设已经正确安装。 二、安装 ROS noetic 2.1 换源 执行 sudo apt update sudo mv /etc/apt/sources.list /etc/apt/…

ijkj4a作用

ijkj4a是一个用于在Android平台上与Java和JNI进行交互的库。它提供了一些方便的函数和宏&#xff0c;用于在JNI层面上访问Java类和方法。通过使用ijkj4a&#xff0c;开发人员可以更轻松地在JNI代码中调用Java方法&#xff0c;以及在Java代码中调用JNI函数。 ijkj4a的作用主要有…

A股市场风云!深圳开股票账户交易佣金费用最低是多少?

最近A股市场表现出色&#xff0c;呈现出风云状态&#xff01;投资者纷纷涌入股市&#xff0c;推动股指不断攀升。一方面&#xff0c;政府出台了一系列政策来稳定市场&#xff0c;如加强监管力度、推动资本市场改革等&#xff0c;为投资者提供了更多机会和便利条件。另一方面&am…

“情暖寒冬 温暖相伴”关爱慰问

岁末寒冬&#xff0c;春节将至&#xff0c;为持续巩固脱贫攻坚成果&#xff0c;扎实助力乡村振兴&#xff0c;市融媒体中心开展“情暖寒冬 温暖相伴”慰问活动。 1月25市融媒体中心联合我市志愿者协会在南村镇忽树庄村开展“情暖寒冬 温暖相伴”慰问活动&#xff0c;为脱贫户送…

Spark3学习笔记

文章目录 一、Spark 基础1、Spark概述1.1 Spark简介1.2 Spark VS Hadoop1.3 Spark特点1.4 Spark入门Demo 2、Spark 运行模式2.1 概述2.2 Local模式2.3 Standalone 模式2.4 配置高可用&#xff08; Standalone HA&#xff09;2.5 Yarn 模式2.6 K8S & Mesos 模式2.7 Windows …