python-3.x - 如何根据用户输入在 tkinter 中创建动态条目小部件并将这些条目小部件的输入存储在列表中
问题描述
我是 python 的初学者,在我的代码中,我想根据用户输入创建条目小部件,然后将输入存储在列表中,问题是列表存储的值不是我无法的类型也使用列表
def displayinput():
r = var.get()
for x in range(1, r + 1):
Label_max = Label(master, text="T MAX").grid(row=11 + x,column=4)
Lbael_min = Label(master, text="T MIN").grid(row=11 + x, column=6)
list_1.append(Entry(master).grid(row=11+x,column=5))
list_2.append(Entry(master).grid(row=11+x,column=7))
x = x + 1
这里 var 是用户输入的输入框数量
解决方案
问题是存储了网格函数的返回值,在每种情况下都是 None 。为了能够处理 Entry 元素的数据,您应该创建一个变量列表并作为 textvariable 参数传递给 Entry 实例。
def displayinput():
r = var.get()
for x in range(1, r + 1):
Label_max = Label(master, text="T MAX").grid(row=11 + x,column=4)
Lbael_min = Label(master, text="T MIN").grid(row=11 + x, column=6)
list_1.append(StringVar())
list_2.append(StringVar())
Entry(master, textvariable=list_1[-1]).grid(row=11+x,column=5)
Entry(master, textvariable=list_2[-1]).grid(row=11+x,column=7)
x = x + 1
或者您可以存储 Entry 实例并获取它们的输入:
def displayinput():
r = var.get()
for x in range(1, r + 1):
Label_max = Label(master, text="T MAX").grid(row=11 + x,column=4)
Lbael_min = Label(master, text="T MIN").grid(row=11 + x, column=6)
list_1.append(Entry(master))
list_2.append(Entry(master))
list_1[-1].grid(row=11+x,column=5)
list_2[-1].grid(row=11+x,column=7)
x = x + 1
推荐阅读
- android - 使用 Node.JS 向 Firebase 发出 HTTPS 请求
- c++ - 如果基类指针不能访问派生类成员函数,那么多态有什么方便呢?
- javascript - 为什么在这种情况下会发生 Stale Element 异常?
- mysql - 为什么我会在特定范围内收到错误代码:1292?
- css - CSS 忽略父选择器
- jquery - 只要输入字段有效,其他元素就会获得焦点
- r - 如何在ggraph的边缘中间绘制箭头
- python - 如何计算我的数据框中的日期与外部日期之间的时间?
- python - 将一个真值表附加到另一个
- node.js - 使用 Dockerfile 从部署到 App Engine 的 Ghost 连接到 Google Cloud SQL