Сначала добавьте кнопку
button_pressed = StringVar()
эта переменная button_pressed
сообщит нам, была ли нажата кнопка или нет
(мы установили button_pressed
в StringVar()
поэтому .set()
может изменить эту переменную в команде кнопки)
button = Button(app, text="Enter", command=lambda: button_pressed.set("button pressed"))
при нажатии кнопки переменная button_pressed
будет установлена в «нажатие кнопки»
button.grid(row=1, column=1)
Затем подождите, пока кнопка не будет нажата
button.wait_variable(button_pressed)
этот код будет ждать, пока переменная button_pressed
не изменится (на что-либо)
Наконец, проверьте запись
if answerEntry.get() == aFull[randChoose]:
et c.
Окончательный код должен выглядеть примерно так:
for i in range(5):
randChoose = random.choice(choose)
questionLabel = Label(app, text=full[randChoose]).grid(row=0, column=0)
answerLabel = Label(app, text="Answer:").grid(row=1, column=0)
answerEntry = Entry(app, borderwidth=5).grid(row=1,column=1)
button_pressed = StringVar()
button = Button(app, text="Enter", command=lambda: button_pressed.set("button pressed"))
button.grid(row=1, column=1)
button.wait_variable(button_pressed)
if answerEntry.get() == aFull[randChoose]:
correctLabel = Label(app, text="Correct!", fg="green").grid(row=2, column=0)
score += 1
scoreLabel = Label(app, text="Your Score is {score}", fg="green").grid(row=2, column=1)
else:
wrongLabel = Label(app, text="Incorrect!", fg="red").grid(row=2, column=0)
scoreLabel = Label(app, text="Your Score is {score}", fg="red").grid(row=2, column=1)
choose.remove(randChoose)
, и вы, вероятно, захотите уничтожить эту кнопку, поэтому при следующем вопросе она не будет отображать 2 кнопки
button.destroy()