В моем случае у меня был класс, у которого был метод и свойство строки с тем же именем, я пытался вызвать этот метод, но получал свойство string.
Вместо создания радиокнопок при каждом нажатии кнопки next
, вы можете просто изменить значение text
этих кнопок, чтобы отобразить новые ответы.
Вот один из способов сделать это. Этот код создаст радиокнопки с ответами на первый вопрос при нажатии start
и продолжит обновлять вопросы и ответы при нажатии next
:
var=tk.StringVar()
var.set('Click start')
l1=tk.Label(window,textvariable=var)
l1.pack()
radio_buttons = []
def show_first(radio_buttons, b1):
global num, radio_buttons, var
for idx in range(1, 5):
radio_buttons.append(tk.Radiobutton(window, text=value[num][num+idx], variable=v, value=idx))
radio_buttons[-1].pack()
var.set(value[0][0])
b1.config(text='next', command=lambda: next_and_judge(radio_buttons))
def next_and_judge(radio_buttons):
global num, score, value, var
if var.get()==value[num][5]:
score+=10
num=num+1
for idx in range(1, 5):
radio_buttons[idx-1].config(text=value[num][num+idx])
var.set(value[num][num])
b1=tk.Button(window,text='start')
b1.config(command=lambda: show_first(radio_buttons,b1))
b1.pack()