Я делаю простую игру викторины для своего школьного проекта, и у меня возникают проблемы с обновлением виджетов во время выполнения программы. Это часть программы может быть (я знаю, что это не очень умный код, но до сих пор он работает):Как обновить виджет?
EuQuestionFrame=Frame(root)
EuQuestionFrame.pack()
question=['question1', 'question2']
a=['20 273', 'aa'] #Possible answers: first question-first column and second question-second column
b=['19 732', 'bb']
c=['21 327', 'cc']
d=['20 372', 'dd']
number=0
class Questions:
def question(self):
q=Label(frame, text=question[number], font=('Arial Black', '14')).pack() #Here program writes questions that I listed before.
def answers(self):
def correct():
number=+1
#Here I want to update all widgets to question 2, in that way I will change number value.
def incorrect():
print('incorrect')
x=[correct, incorrect] #Correct answers for first and second questions - one column for each question. Compare with possible answers I listed before.
y=[incorrect, correct]
z=[incorrect, incorrect]
v=[incorrect, incorrect]
a1= Button(EuQuestionFrame, text=a[number], width=10, activebackground='orange',
cursor="circle", command=x[number])
a1.pack()
a2= Button(EuQuestionFrame, text=b[number], width=10, activebackground='orange',
cursor="circle", command=y[number])
a2.pack()
a3= Button(EuQuestionFrame, text=c[number], width=10, activebackground='orange',
cursor="circle", command=z[number])
a3.pack()
a4= Button(EuQuestionFrame, text=d[number], width=10, activebackground='orange',
cursor="circle", command=v[number])
a4.pack()
Есть ли функция (и если да, то как использовать), которые обновление виджеты? Я много работал над этим, но из-за отсутствия знаний о программировании я не смог найти решение.
Надеюсь, это достаточно ясно. Я сделал это немного проще. Если что-то неясно, дайте мне знать. – Luka1
Я думаю, что ваша 'правильная' функция не будет иметь никакого эффекта, так как' number' не 'global'. Кроме того, почему «номер», который, как представляется, является количеством правильных ответов, определяет, правильный или неправильный ответ на вопрос? –
Чтобы изменить виджеты после создания, вы можете использовать 'widget.configure (options)' –