Python可视化编程中的Tkinter单选框和多选框按钮
liuian 2024-12-10 18:06 29 浏览
带你走进 @ 机器人时代
Discover 点击上面蓝色文字,关注我们
Python可视化编程中的Tkinter单选框和多选框按钮也是重要的人机交互工具。
打开PyCharm输入以下代码:
import tkinter as tk
from tkinter import ttk
w = tk.Tk()
w.iconbitmap('1.ico')
w.geometry('460x250+710+410')
w.resizable(0, 0)
w.title('工作机器人时代-列表框复选框控件示例')
w.mainloop()
记得收藏起来,说不定哪天你就能用上!
Radiobutton 控件用来解决多选一的问题,它通常是成组出现的,下面看一组简单的示例:
# IntVar() 用于处理整数类型的变量
v = tk.IntVar()
#设置选项
str1=['工作机器人时代','RPA自动化','Python交互平台','来也科技公司','UiBot商场','阿里云平台']
y=0
# 使用 variable 参数来关联 IntVar() 的变量 v,使用循环生成
for i in str1:
# if i==2:v.set(1) #设置初始值
tk.Radiobutton(w, text=i, variable=v,value=y).place(x=20, y=(20*y+20))
y=y+1
def sel():
s= v.get()
tk.Label(w,text='您选择了'+str1[int(s)],font=('微软雅黑', '10','bold'),fg='salmon').place(x=20,y=170)
tk.Button(w,text='选择后点击确定',command=sel).place(x=20,y=200)
运行结果如下:
单选框按钮有以下方法:
deselect():取消该按钮的选中状态
flash():刷新 Radiobutton 控件,该方法将显示 Radiobutton控件若干次
invoke():调用 Radiobutton 中 command 参数指定的函数并返回值
select():将Radiobutton 控件设置为选中状态
其属性如下:
activebackground:设置其活动状态的背景色
activeforeground:设置其活动状态的前景颜色
compound:控制文本和图像的混合模式
disabledforeground:设置其不可用的时的前景色颜色
indicatoron:设置前面的小圆圈是否被绘制,True为绘制,False改变单选按钮的样式,点击时按钮会变成 "sunken"(凹陷),再次点击变为 "raised"(凸起)
selectcolor:设置当按钮为选中状态的时候显示的图片
variable:都指向同一个变量,通过将该变量与 value 选项值对比判断用户选中了哪个按钮。
Checkbutton 控件是多选按钮控件,但与 Radiobutton 不同的是,Checkbutton 控件不仅允许用户选择一项,还允许用户同时选择多项,各个选项之间属于并列的关系。
输入以下代码:
#复选框
# 新建整型变量
CheckVar1 = tk.IntVar()
CheckVar2 = tk.IntVar()
CheckVar3 = tk.IntVar()
check1 = tk.Checkbutton(w, text="Python", font=('微软雅黑', 10), variable = CheckVar1, onvalue=1, offvalue=0).place(x=180, y=20)
check2 = tk.Checkbutton(w, text="C#",font=('微软雅黑', 10),variable = CheckVar2,onvalue=1,offvalue=0).place(x=180,y=50)
check3 = tk.Checkbutton(w, text="Java",font=('微软雅黑', 10),variable = CheckVar3,onvalue=1,offvalue=0).place(x=180,y=80)
def study():
# 没有选择任何项目的情况下
if (CheckVar1.get() == 0 and CheckVar2.get() == 0 and CheckVar3.get() == 0):
s = '您还没选择任语言'
else:
s1 = "Python" if CheckVar1.get() == 1 else ""
s2 = "C语言" if CheckVar2.get() == 1 else ""
s3 = "Java" if CheckVar3.get() == 1 else ""
s = "您选择了%s %s %s" % (s1, s2, s3)
tk.Label(w,text=s,font=('微软雅黑', '10','bold'),fg='maroon').place(x=180,y=170)
tk.Button(w,text='选择复选框后点击确定',command=study).place(x=180,y=200)
tk.Button(w,text='关闭窗口',command=w.destroy).place(x=350,y=200)
w.mainloop()
运行后:
Checkbutton 控件的属性:
text:显示的文本
variable:复选框按钮关联的变量,默认情况下,1 表示选中状态反之为 0
onvalue:自定义选中状态的值
offvalue:自定义未选中状态的值
indicatoron:是否绘制小方块,与单选按钮相同
selectcolor:颜色(即小方块的颜色)
selectimage:选中状态的时候显示的图片
textvariable:Checkbutton 显示 Tkinter 变量
wraplength:复选框文本的行数
其方法如下:
desellect():取消选中状态
flash():刷新 Checkbutton 组件
invoke():调用指定的函数或方法并返回值
select():设置为选中状态,也就是设置 variable 为 onvalue
toggle():改变复选框的状态
学会了吗?记得收藏起来也许用得着!
往期回顾:
- 来来来,送你一个金牌销售机器人,7X24小时不休,不要工资免费用!
- RPA技术在旅行社销售业务中如何凤凰涅槃??
- 【工资翻三倍】系列:一招搞定九宫图片切割机器人,让你的朋友圈更加炫酷!
本文引用和摘录相关内容,请联系侵删。
- END -
最后,文章有帮助到你的话【点赞在看】
激励我们分享更多的干货!
相关推荐
- Optional是个好东西,如果用错了就太可惜了
-
原文出处:https://xie.infoq.cn/article/e3d1f0f4f095397c44812a5be我们都知道,在Java8新增了一个类-Optional,主要是用来解决程...
- IDEA建议:不要在字段上使用@Autowire了!
-
在使用IDEA写Spring相关的项目的时候,在字段上使用@Autowired注解时,总是会有一个波浪线提示:Fieldinjectionisnotrecommended.纳尼?我天天用,咋...
- Spring源码|Spring实例Bean的方法
-
Spring实例Bean的方法,在AbstractAutowireCapableBeanFactory中的protectedBeanWrappercreateBeanInstance(String...
- Spring技巧:深入研究Java 14和SpringBoot
-
在本期文章中,我们将介绍Java14中的新特性及其在构建基于SpringBoot的应用程序中的应用。开始,我们需要使用Java的最新版本,也是最棒的版本,Java14,它现在还没有发布。预计将于2...
- Java开发200+个学习知识路线-史上最全(框架篇)
-
1.Spring框架深入SpringIOC容器:BeanFactory与ApplicationContextBean生命周期:实例化、属性填充、初始化、销毁依赖注入方式:构造器注入、Setter注...
- 年末将至,Java 开发者必须了解的 15 个Java 顶级开源项目
-
专注于Java领域优质技术,欢迎关注作者:SnailClimbStar的数量统计于2019-12-29。1.JavaGuideGuide哥大三开始维护的,目前算是纯Java类型项目中Sta...
- 字节跨平台框架 Lynx 开源:一个 Web 开发者的原生体验
-
最近各大厂都在开源自己的跨平台框架,前脚腾讯刚宣布计划四月开源基于Kotlin的跨平台框架「Kuikly」,后脚字节跳动旧开源了他们的跨平台框架「Lynx」,如果说Kuikly是一个面向...
- 我要狠狠的反驳“公司禁止使用Lombok”的观点
-
经常在其它各个地方在说公司禁止使用Lombok,我一直不明白为什么不让用,今天看到一篇文章列举了一下“缺点”,这里我只想狠狠地反驳,看到列举的理由我竟无言以对。原文如下:下面,结合我自己使用Lomb...
- SpringBoot Lombok使用详解:从入门到精通(注解最全)
-
一、Lombok概述与基础使用1.1Lombok是什么Lombok是一个Java库,它通过注解的方式自动生成Java代码(如getter、setter、toString等),从而减少样板代码的编写,...
- Java 8之后的那些新特性(六):记录类 Record Class
-
Java是一门面向对象的语言,而对于面向对象的语言中,一个众所周知的概念就是,对象是包含属性与行为的。比如HR系统中都会有雇员的概念,那雇员会有姓名,ID身份,性别等,这些我们称之为属性;而雇员同时肯...
- 为什么大厂要求安卓开发者掌握Kotlin和Jetpack?优雅草卓伊凡
-
为什么大厂要求安卓开发者掌握Kotlin和Jetpack?深度解析现代Android开发生态优雅草卓伊凡一、Kotlin:Android开发的现代语言选择1.1Kotlin是什么?Kotlin是由...
- Kotlin这5招太绝了!码农秒变优雅艺术家!
-
Kotlin因其简洁性、空安全性和与Java的无缝互操作性而备受喜爱。虽然许多开发者熟悉协程、扩展函数和数据类等特性,但还有一些鲜为人知的特性可以让你的代码从仅仅能用变得真正优雅且异常简洁。让我们来看...
- 自行部署一款免费高颜值的IT资产管理系统-咖啡壶chemex
-
在运维时,ICT资产太多怎么办,还是用excel表格来管理?效率太低,也不好多人使用。在几个IT资产管理系统中选择比较中,最终在Snipe-IT和chemex间选择了chemex咖啡壶。Snip...
- PHP对接百度语音识别技术(php对接百度语音识别技术实验报告)
-
引言在目前的各种应用场景中,语音识别技术已经越来越常用,并且其应用场景正在不断扩大。百度提供的语音识别服务允许用户通过简单的接口调用,将语音内容转换为文本。本文将通过PHP语言集成百度的语音识别服务,...
- 知识付费系统功能全解析(知识付费项目怎么样)
-
开发知识付费系统需包含核心功能模块,确保内容变现、用户体验及运营管理需求。以下是完整功能架构:一、用户端功能注册登录:手机号/邮箱注册,第三方登录(微信、QQ)内容浏览:分类展示课程、文章、音频等付费...
- 一周热门
-
-
Python实现人事自动打卡,再也不会被批评
-
【验证码逆向专栏】vaptcha 手势验证码逆向分析
-
Psutil + Flask + Pyecharts + Bootstrap 开发动态可视化系统监控
-
一个解决支持HTML/CSS/JS网页转PDF(高质量)的终极解决方案
-
再见Swagger UI 国人开源了一款超好用的 API 文档生成框架,真香
-
网页转成pdf文件的经验分享 网页转成pdf文件的经验分享怎么弄
-
C++ std::vector 简介
-
系统C盘清理:微信PC端文件清理,扩大C盘可用空间步骤
-
10款高性能NAS丨双十一必看,轻松搞定虚拟机、Docker、软路由
-
python使用fitz模块提取pdf中的图片
-
- 最近发表
- 标签列表
-
- python判断字典是否为空 (50)
- crontab每周一执行 (48)
- aes和des区别 (43)
- bash脚本和shell脚本的区别 (35)
- canvas库 (33)
- dataframe筛选满足条件的行 (35)
- gitlab日志 (33)
- lua xpcall (36)
- blob转json (33)
- python判断是否在列表中 (34)
- python html转pdf (36)
- 安装指定版本npm (37)
- idea搜索jar包内容 (33)
- css鼠标悬停出现隐藏的文字 (34)
- linux nacos启动命令 (33)
- gitlab 日志 (36)
- adb pull (37)
- table.render (33)
- python判断元素在不在列表里 (34)
- python 字典删除元素 (34)
- vscode切换git分支 (35)
- python bytes转16进制 (35)
- grep前后几行 (34)
- hashmap转list (35)
- c++ 字符串查找 (35)