登录
首页 >  文章 >  python教程

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

时间:2024-12-11 11:46:06 417浏览 收藏

对于一个文章开发者来说,牢固扎实的基础是十分重要的,golang学习网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《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 文本框显示相同值的原因及如何分别赋值?》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多文章知识!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>