栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

为什么这些Python tkinter检查按钮链接在一起?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

为什么这些Python tkinter检查按钮链接在一起?

TL; DR

您需要为

variable
每个复选框指定一个唯一。

var_L1 = tk.IntVar()var_R1 = tk.IntVar()...check_L1 = Checkbutton(..., variable=var_L1)check_R1 = Checkbutton(..., variable=var_R1)...

怎么了

复选按钮需要与变量关联。您没有显式设置变量,因此tkinter会创建默认值。Tkinter通过创建以复选按钮名称命名的内部变量来实现此目的。

当您创建窗口小部件并且不给它们命名时,tkinter将选择默认名称。全名包括整个窗口小部件层次结构的名称。因此,举例来说,内部名称

check_L1
.!frame.!checkbutton'
,对于名称
check_R1
.!frame2.!checkbutton
,而对于内部名称
checktype1
'.!frame3.!checkbutton'

当tkinter为复选按钮创建默认变量时,它仅使用变量全名的最后一部分。因此,为此

check_L1
创建了一个名为的内部变量
!checkbutton
。的内部变量
check_R1
!checkbutton
与的内部变量相同
checktype2

因为所有这些检查按钮共享相同的内部变量,所以它们被链接了。


注意:如果要在循环中创建许多复选框,则可以将对每个复选框的引用保存到数组中。例如:

vars = []for i in range(x):    vars.append[tk.IntVar())...check_L1 = Checkbutton(..., variable=vars[0])...print(f"the value of L1 is {vars[0].get()}")


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/625609.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号