
tkinter 遇到赋值问题,如何解决?
在 tkinter 中遇到无法为不同元素分别赋值的问题时,需要仔细检查代码,判断问题所在。
问题可能出在使用 intvar 变量上。intvar 变量是随动的,这意味着它会跟踪变量的当前值。
在给定的代码中,问题出在以下代码块:
oin = tk.intvar()oin.set(0)
此代码块将 oin 设置为 intvar 变量,并将其值设置为 0。然后,在循环中,使用 oin.set(tp_uncoin) 将 oin 的值设置为列表中的每个值。
问题在于 oin 是随动的,因此当它在循环中更新时,其值会影响所有使用它的组件。结果,所有元素都显示相同的最后一个循环迭代中的值(20000)。
要解决此问题,需要将 oin = tk.intvar() 和 oin.set(0) 代码块移入 for 循环。这样,每个循环迭代都有一个新的 oin 变量,可以为其设置不同的值。
修改后的代码如下:
for n in range(8): oin = tk.IntVar() oin.set(Un[n]) L2 = tk.Label(ui, textvariable=oin) L2.grid(row=n, column=2, sticky=tk.W)
通过这种修改,每个元素现在都将显示其相应的列表值。
以上就是Tkinter 赋值问题:为什么我的所有元素都显示相同的值?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1351258.html
微信扫一扫
支付宝扫一扫