Python 如何在tkinter中的Entry小部件中等待输入
我想在tkinter做一个测验,我有五个问题。但是,我想等待一个答案被输入到条目小部件。我知道我可能需要一个按钮,但我不知道该怎么做。 到目前为止,我的代码是:Python 如何在tkinter中的Entry小部件中等待输入,python,tkinter,Python,Tkinter,我想在tkinter做一个测验,我有五个问题。但是,我想等待一个答案被输入到条目小部件。我知道我可能需要一个按钮,但我不知道该怎么做。 到目前为止,我的代码是: for i in range(5): randChoose = random.choice(choose) questionLabel = Label(top, text=full[randChoose]).grid(row=0, column=0) answerLabel = Label
for i in range(5):
randChoose = random.choice(choose)
questionLabel = Label(top, text=full[randChoose]).grid(row=0, column=0)
answerLabel = Label(top, text="Answer:").grid(row=1, column=0)
answerEntry = Entry(top, borderwidth=5).grid(row=1,column=1)
if answerEntry.get() == aFull[randChoose]:
correctLabel = Label(top, text="Correct!",fg="green").grid(row=2,column=0)
score += 1
scoreLabel = Label(top, text=f"Your Score is {score}",fg="green").grid(row=2,column=1)
else:
wrongLabel = Label(top, text="Incorrect!",fg="red").grid(row=2,column=0)
scoreLabel = Label(top, text=f"Your Score is {score}",fg="red").grid(row=2,column=1)
choose.remove(randChoose)
首先,添加一个按钮
按下按钮=StringVar
按下此可变按钮将告诉我们按钮是否按下
我们将button_pressed设置为StringVar,因此set可以在button的命令中更改此变量
button=Buttonapp,text=Enter,command=lambda:button_pressed.setbutton pressed
按下按钮时,将变量按钮设置为按下
button.gridrow=1,column=1
然后,等待按钮按下
按钮。等待\u可变按钮\u按下
此代码将等待,直到按下的varialbe按钮被更改为任何内容
最后,检查条目
如果answerEntry.get==aFull[randChoose]:等
最终代码应如下所示:
对于范围5中的i:
randChoose=random.choicechoose
questionLabel=Labelapp,text=full[randChoose]。gridrow=0,column=0
answerLabel=Labelapp,text=Answer:.gridrow=1,column=0
answerEntry=Entryapp,borderwidth=5。gridrow=1,column=1
按下按钮=StringVar
button=Buttonapp,text=Enter,command=lambda:button_pressed.setbutton pressed
button.gridrow=1,column=1
按钮。等待\u可变按钮\u按下
如果answerEntry.get==aFull[randChoose]:
correctLabel=Labelapp,text=Correct!,fg=green.gridrow=2,column=0
分数+=1
scoreLabel=Labelapp,text=您的分数为{Score},fg=green.gridrow=2,column=1
其他:
错误标签=标签应用,文本=错误!,fg=红色。gridrow=2,column=0
scoreLabel=Labelapp,text=您的分数为{Score},fg=red.gridrow=2,column=1
选择
你可能想破坏这个按钮,所以在下一个问题上,它不会显示2个按钮
摧毁
按下按钮后,您可以通过root.update检查输入状态。首先,您必须了解。目前,您正在一次又一次地堆叠小部件,这非常感谢,但我在answerButton上收到一个错误。请稍候,按下variablebutton,表示未定义按下的按钮。有人知道为什么吗?我有个拼写错误,花了很长时间才找到。谢谢