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 字典中相应键值对应的内容。
文章推荐
-
如何用Python编写桶排序算法?
如何用Python编写桶排序算法?引言:桶排序(Bucket Sort)是一种非比较排序算法,其原理是将待排序的元素分到...
Python
24秒前 0 -
python语言%表示什么意思
python语言%是用于字符串格式化的特殊运算符,可以将变量的值插入到字符串中的特定位置,以创建动态的字符串输出。%运算...
Python
1分钟前 0 -
python如何随机生成100内的10个整数
随机生成100内的10个整数的步骤:1、导入random模块;2、创建一个空列表numbers;3、使用for循环生成1...
Python
2分钟前 0 -
如何使用Python实现DBSCAN聚类算法?
如何使用Python实现DBSCAN聚类算法?DBSCAN(Density-Based Spatial Clusteri...
Python
2分钟前 0 -
如何使用Python实现梯度下降算法?
如何使用Python实现梯度下降算法?梯度下降算法是一种常用的优化算法,广泛应用于机器学习和深度学习中。其基本思想是通过...
Python
4分钟前 0
最新文章
- 如何用Python编写桶排序算法? 24秒前
- python语言%表示什么意思 1分钟前
- python如何随机生成100内的10个整数 2分钟前
- 如何使用Python实现DBSCAN聚类算法? 2分钟前
- 如何使用Python实现梯度下降算法? 4分钟前
- Python程序将一个列表分成两半 4分钟前
- 如何使用Python实现克鲁斯卡尔算法? 5分钟前
- 如何用Python编写随机森林算法? 5分钟前
- 如何用Python编写插入排序算法? 6分钟前
- 如何使用Python实现决策树算法? 7分钟前