登录
首页 >  文章 >  python教程

Tkinter 赋值问题:为什么我的所有元素都显示相同的值?

时间:2024-11-06 11:13:09 123浏览 收藏

你在学习文章相关的知识吗?本文《Tkinter 赋值问题:为什么我的所有元素都显示相同的值?》,主要介绍的内容就涉及到,如果你想提升自己的开发能力,就不要错过这篇文章,大家要知道编程理论基础和实战操作都是不可或缺的哦!

Tkinter 赋值问题:为什么我的所有元素都显示相同的值?

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 赋值问题:为什么我的所有元素都显示相同的值?》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

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