Я пытаюсь сделать простую викторину внутри графического интерфейса, но мне кажется, что я не могу обновить окно, чтобы перейти к следующему вопросу. Я пробовал какое-то время, и какое бы решение я ни придумал, оно либо работает частично, либо разбивает окно! Хотите знать, может ли кто-нибудь дать мне представление о том, как обновить текущее окно, чтобы отобразить следующий вопрос?
class Question:
def __init__(self, prompt, answer):
self.prompt = prompt
self.answer = answer
questions = [
Question(multiple_choice[0], "D"),
Question(multiple_choice[1], "A"),
Question(multiple_choice[2], "B"),
Question(multiple_choice[3], "C"),
Question(multiple_choice[4], "B"),
Question(multiple_choice[5], "D"),
Question(multiple_choice[6], "C"),
Question(multiple_choice[7], "B"),
Question(multiple_choice[8], "A"),
Question(multiple_choice[9], "A"),
Question(multiple_choice[10], "B"),
Question(multiple_choice[11], "B"),
Question(multiple_choice[12], "B"),
Question(multiple_choice[13], "D"),
Question(multiple_choice[14], "A"),
Question(multiple_choice[15], "C"),
Question(multiple_choice[16], "B"),
Question(multiple_choice[17], "D"),
Question(multiple_choice[18], "B"),
Question(multiple_choice[19], "D")
]
sg.theme("DarkGreen5")
# All the stuff inside your window. This is the PSG magic code compactor...
layout = [[sg.Text()],
[sg.Text(multiple_choice[0])],
[sg.Text("Choose your answer:"), sg.Input()],
[sg.Ok("Submit"), sg.Cancel("End Quiz")]]
# Create the Window
window = sg.Window("Logan's Quiz", layout)
# Event Loop to process "events"
while True:
event, values = window.read()
if event in (sg.WIN_CLOSED, 'End Quiz'):
break
if event == "Submit":
for question in questions:
answer = sg.Input()
if answer == question.answer:
window[multiple_choice[0]].update(multiple_choice[1])
window.close()
Это то, что у меня есть на данный момент!
Я пропустил вопросы, поскольку они не были слишком необходимы для поиска решения - я не верю!