我在python中遇到一个问题,我在建一个用户名/密码系统,但我不能在输入框中输入多个变量。
问题在于:
mEntry1 = Entry(mGui, textvariable = ment).grid(column = 0, row = 2, sticky = W)
mEntry2 = Entry(mGui, textvariable = ment).grid(column = 0, row = 4, sticky = W)
输入框总是有相同的写入,我无法更改或文本变量,否则我会收到错误。如何为不同的变量分配输入?
答案 0 :(得分:3)
两个问题:
grid
,则该变量将为None
,因为这是grid
返回的内容。在单独的行上分配和网格。
mEntry1 = Entry(mGui, textvariable = ment1)
mEntry2 = Entry(mGui, textvariable = ment2)
mEntry1.grid(column = 0, row = 2, sticky = W)
mEntry2.grid(column = 0, row = 4, sticky = W)
奖金样式提示:尝试选择反映UI元素目的的变量名称。例如:
username_entry = Entry(mGui, textvariable = username_var)
password_entry = Entry(mGui, textvariable = password_var)
username_entry.grid(column = 0, row = 2, sticky = W)
password_entry.grid(column = 0, row = 4, sticky = W)
这将更容易识别哪些变量做什么。当你在六个月后回来添加新功能时,你会感谢你过去的自我让事情变得可以理解。
答案 1 :(得分:0)
我相信这是因为两个条目都使用相同的变量,所以当您编写一个条目时,您会在另一个条目中使用它。您应该创建第二个变量:
ment1=StringVar()
ment2=StringVar()
mEntry1 = Entry(mGui, textvariable = ment1).grid(column = 0, row = 2, sticky = W)
mEntry2 = Entry(mGui, textvariable = ment2).grid(column = 0, row = 4, sticky = W)