有没有办法在tkinter的for循环中制作get方法

时间:2019-06-19 12:50:00

标签: python-3.x tkinter

我正在编写一个代码,用于内部框架和内部get方法的循环。

for question, answer_choice, correct_choice, correct_answer in zip(questions, answer_choices, correct_choices, correct_answers):
    #frameQ=Frame(root)
    frameQ=Frame(root)
    frameQ.grid( row=rn , columnspan=4, sticky="w")
    Entry_answer=Entry(frameQ)
    Entry_answer.grid(row=3, column=0, sticky ="w")
    user_answer=Entry_answer.get()  #===this is not working

1 个答案:

答案 0 :(得分:0)

tkinter有一个很好的处理输入的方法。它引入了新的变量类型。例如,在这种情况下,您可以使用StringVar()。 StringVar()具有在更新它们时与它们相关的任何东西的特性。例如,

var = StringVar()
entry = Entry(frame, textvariable=var)
entry.grid(column=x, row=y)

label = Label(frame, textvariable=var)
label.grid(column=x, row=y)

在这种情况下,当您使用条目更新var时,标签会自动更新。我认为这就是您的目标。如您所见,我使用textvariable选项执行此操作。您可以在official tkinter documentation上看到小部件的所有其他选项。我也建议您继续进行this website,它有一个很好的教程来学习tkinter。最后,您忘了说想要框架位于哪一列。那可能也解决了一个问题。