经过长期探索,自己终于探索出了一套完善可行的tkinter的勾选框方案,分享给大家。单个勾选框容易,关键是如何根据一个列表,设置一组勾选框,能够四个一组换行,能够全选和反选,能够获取到选择的值。

import tkinter as tk
from tkinter import ttk,messagebox,filedialog
#点击勾选框触发
def getselect(item):print(item,'selected')
#反选
def unselectall():for index,item in enumerate(list1):v[index].set('')
#全选
def selectall():for index,item in enumerate(list1):v[index].set(item)
#获取选择项
def showselect():selected=[i.get() for i in v if i.get()]print(selected)window=tk.Tk()
window.geometry('500x500')
frame1=tk.Frame(window,pady=10,padx=15)
frame1.grid(row=0,column=0)
#全选反选
opt=tk.IntVar()
ttk.Radiobutton(frame1,text='全选',variable=opt,value=1,command=selectall).grid(row=0,column=0,sticky='w')
ttk.Radiobutton(frame1,text='反选',variable=opt,value=0,command=unselectall).grid(row=0,column=1,sticky='w')
list1=['阿尔及利亚', '澳大利亚', '博茨瓦纳', '巴西', '文莱', '加拿大', '智利', '中国', '哥伦比亚', '捷克', '丹麦', '美国', '印度']
v=[]
#设置勾选框,每四个换行
for index,item in enumerate(list1):v.append(tk.StringVar())ttk.Checkbutton(frame1,text=item,variable=v[-1],onvalue=item,offvalue='',command=lambda item=item:getselect(item)).grid(row=index//4+1,column=index%4,sticky='w')
ttk.Button(frame1,text="获取选择的国家",command=showselect).grid(row=index//4+2,column=0)
window.mainloop()

效果如下:

Python—tkinter实现勾选框以及全选和反选相关推荐

  1. vue 带全选和多选的表格怎么写_vue中使用计算属性巧妙的实现多选框的“全选”...

    接下来我会以一个购物车的例子,来演示如果借助计算属性,精巧的实现多选框的全选功能.当然,有全选,自然对应的也还有取消全选. 以下这张gif图,就是最终的实现效果: 第一步,针对购物车每一个商品进行设置 ...

  2. js复选框之全选反选不选

    今日分享:纯js复选框之全选&&反选&&不选 想要了解其用法,首先先得了解它们各自的意思 全选:全部都选中 反选:选中的部分取消,没选中的部分勾选上 不选:全部取消勾选 ...

  3. 【jQuery】复选框的全选、反选,推断哪些复选框被选中

    本文与<[JavaScript]复选框的全选.反选.推断哪些复选框被选中>(点击打开链接)为姊妹篇,把里面内容再与jQuery框架中实现一次,相同做到例如以下的效果: 布局还是相同的布局, ...

  4. jQuery实现复选框的全选和反选:

    jQuery实现复选框的全选和反选: 截图如下: 代码如下: index.jsp: <%@ page language="java" import="java.ut ...

  5. php 复选框全选和取消,基于JavaScript实现复选框的全选和取消全选

    这篇文章主要为大家详细介绍了基于JavaScript实现复选框的全选和取消全选,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本文实例为大家分享了js复选框的全选和取消全选的具体代码,供大家参考, ...

  6. 如何利用jq来实现复选框的全选,反选!

    如何利用jq来实现复选框的全选,反选! $("document").ready(function(){  $("#btn1").click(function() ...

  7. Javascript第五章切换层效果、复选框的全选十三课

    层切换效果: 效果 复选框的全选

  8. 复选框的全选、全不选、和获取选中的值;

    1.获取select下面的选中的option值 <select id="afterSaleReson" name="afterSaleReson"> ...

  9. HTML复选框的全选、全不选以及单选操作。

    今天在进行HTML的table练习的时候,发现一个比较有趣的知识点,有关于复选框的全选.全不选,以及单选操作的相关问题. 待我上网搜索了一下相关资料,发现有关于全选以及全不选的详解还是挺多的,但是复选 ...

  10. 复选框的全选和取消全选

    复选框的全选和取消全选 <!DOCTYPE html> <html><head><meta charset="utf-8">< ...

最新文章

  1. ORA-12514 监听程序当前无法识别连接描述符中的服务
  2. 【C++】C++0x :: Introduction to some amazing features
  3. 【Auto.js】[系统Intent]_系统设置页面的相关intent跳转
  4. element中el-image怎样显示图片
  5. 机器学习入门-文本数据-使用聚类增加文本的标签属性
  6. jvm指令重排原因?怎么避免?
  7. 史上最全最常用批处理260多个打包下载
  8. Spring Boot中的高级配置文件管理
  9. [设计模式之禅读书笔记]006_设计模式六大原则(六):开闭原则
  10. usb路由器 php,无线路由器上的USB接口有什么用处?绝不是你想的那样简单
  11. 计算机代码坑人小程序bat,运用bat写的整人小程序有哪些?
  12. FastFDS分布式文件系统
  13. JetPack之Room,Room基本使用
  14. 360cdn能挡住cc攻击_关于本站8.11→8.13遭受大型CC攻击和CDN恶意流量攻击,已向公安部报警...
  15. java实现数据同步
  16. 什么是过拟合、欠拟合现象以及如何缓解?
  17. ios状态栏的颜色修改
  18. 2020年9月23日 晴(补2020年9月22日 晴)
  19. 智能血压计方案/设计案列/APP/小程序
  20. 十万 百万 级数据处理 以及可视化 画图

热门文章

  1. MySQL Connector/C++ 操作MySQL数据库
  2. 组分中药:新药研发阳关道?
  3. 【发版或上线项目保姆级心得】
  4. python读取csv文件遇到的问题
  5. 11月8日——离noip还有11天
  6. Esri美国个人许可购买指南
  7. 网站被同行恶意攻击了怎么办
  8. 2021SC@SDUSC 项目实训-ArcMap处理路网密度(创建渔网)
  9. MATLAB函数整理
  10. 戴尔r330服务器安装系统鼠标,dell-poweredge – 在PowerEdge R330上安装Ubuntu服务器时出现问题(硬件RAID1)...