Tkinter 文本框显示相同值的原因及如何分别赋值?

tkinter 文本框显示相同值的原因及如何分别赋值?

tkinter 无法分别赋值的原因及解决办法

给定代码中,期望分别显示字典 un 中不同键值对应的内容,但实际效果却是所有文本框中都显示了最后一个键值对应的内容, 即20000。

问题出在 oin = tk.intvar() 和 oin.set(0) 这两行代码的位置。tk.intvar() 会创建一个随动的 intvar 变量,这意味着它的值会随着代码执行的进展而改变。

在本例中,oin.set(0) 设置了 intvar 变量的初始值,但它在 for 循环之外,这意味着在循环中它会始终被覆盖为最后一个值,导致所有文本框都显示相同的值。

解决办法:

将这两行代码移入 for 循环中,如下所示:

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)

现在,每个文本框都会显示 un 字典中相应键值对应的内容。

以上就是Tkinter 文本框显示相同值的原因及如何分别赋值?的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1351232.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月13日 15:46:07
下一篇 2025年12月13日 15:46:17

相关推荐

发表回复

登录后才能评论
关注微信