Python 使用Tkinter中的StringVar()创建多个空字符串变量
我需要创建大量接受字符串输入的变量,这些变量最初将是空的(待定的用户输入) 之前我一次创建一个变量,例如Python 使用Tkinter中的StringVar()创建多个空字符串变量,python,tkinter,Python,Tkinter,我需要创建大量接受字符串输入的变量,这些变量最初将是空的(待定的用户输入) 之前我一次创建一个变量,例如 customer\u id=StringVar() 客户年龄=StringVar() 等等,但这看起来有很多变量 我已经在中查看了答案,但我不知道如何将StringVar()与for循环和列表一起使用 我使用的是Python 3.7.4和Windows 10 # ATTEMPT from tkinter import * varlist = ['customer_id', 'custom
customer\u id=StringVar()
客户年龄=StringVar()
等等,但这看起来有很多变量
我已经在中查看了答案,但我不知道如何将StringVar()与for循环和列表一起使用
我使用的是Python 3.7.4和Windows 10
# ATTEMPT
from tkinter import *
varlist = ['customer_id', 'customer_age', 'customer_phone']
for var in varlist:
Tk()
var = StringVar()
# ERROR MESSAGE WHEN CHECKING VARIABLES
type(customer_id)
NameError Traceback (most recent call last)
<ipython-input-24-9625f8af3cc2> in <module>
----> 1 type(customer_id)
NameError: name 'customer_id' is not defined
#尝试
从tkinter进口*
varlist=['customer\u id','customer\u age','customer\u phone']
对于varlist中的var:
Tk()
var=StringVar()
#检查变量时出现错误消息
类型(客户id)
NameError回溯(最近一次呼叫上次)
在里面
---->1种类型(客户id)
NameError:未定义名称“customer\u id”
谢谢 使用口述
varlist = {var: StringVar() for var in ["customer_id", "customer_age", "customer_phone"]}
现在使用
varlist[“customer\u id”]
变量customer\u id
部分问题在于您正在创建多个根窗口。您需要从循环中删除Tk()
。当我运行它时,我得到:File“”,第7行varlist={var:StringVar(),用于“customer\u id”、“customer\u age”、“customer\u phone”中的var}^语法错误:无效语法已修复;我忘了用列表文字包装元素。