import PySimpleGUI as sg
from time import time
q1 = [
[sg.Text("Question 1!"), sg.Text("Time:"), sg.Text(" ", size=(20,1), key="t")],
[sg.Text("This is where question 1 will be?"), sg.Button("Start")],
[sg.Button("Option 1", key="1",button_color=("#ffffff","#151515"), disabled=True, enable_events=True), sg.Button("Option 2", key="2",button_color=("#00ff00", "#151515"), disabled=True)],
[sg.Button("Option 3", key="3",button_color=("#00ffff","#151515"), disabled=True), sg.Button("Option 4", key="4",button_color=("#ff00ff", "#151515"), disabled=True)],
[sg.Button("Submit"), sg.Button("Next Question"), sg.Button("Skip")]
]
window = sg.Window("Question 1",q1)
while True:
event, values = window.Read()
if event is None:
break
if event == "1":
sg.popup("Test 1")
elif event == "2":
sg.popup("Test 2")
elif event == "3":
sg.popup("Test 3")
elif event == "4":
sg.popup("Test 4")
if event == "Start":
window.FindElement('1').Update(disabled=False)
window.FindElement('2').Update(disabled=False)
window.FindElement('3').Update(disabled=False)
window.FindElement('4').Update(disabled=False)
window.FindElement("Start").Update(visible=False)
window.Refresh()
seconds = 6
start = time()
current = time()
timeleft = seconds
while timeleft > 0:
window.FindElement("t").Update(timeleft)
window.refresh()
current = time()
timeleft = int(seconds - (current - start))
if timeleft == 0:
sg.popup("no time left")
Я хочу сделать так, чтобы пока таймер активен, кнопки можно было нажимать, чтобы получить ответ, выбранный пользователем. Однако ответ будет получен только после того, как таймер закончится. Это для викторины, поэтому я хочу, чтобы в программе был таймер для каждого вопроса, на который пользователь должен ответить. Если он не отвечает, он теряет балл и переходит к следующему вопросу. У меня есть общее функционирование шаблона, однако это единственный аспект, который я не могу понять. Gr asp. На данный момент я даже не уверен, возможно ли то, что я хочу, поэтому любая обратная связь или обходные пути были бы полезны