2017-01-17 3 views
0

Я создал викторину с использованием tkinter и ive, столкнувшись с небольшой проблемой. Выбрав ответ для первого вопроса и нажав кнопку «Отправить», тот же самый радиобудильник уже выбран из предыдущего вопроса для следующего вопроса. Есть ли вообще возможно обновление страницы, чтобы не было ответа на следующий вопрос?Освежающий выбор Radiobutton

На изображении показан ответ, выбранный для первого вопроса.

The image shows an answer being selected for the first question.

после нажатия представить, тот же выбор радио-кнопка выбрана.

after having clicked submit, the same radio button choice is already selected.

var = IntVar() 

ans1 = Radiobutton(root, text=answer1[count], variable=var, value=1, 
        command=sel) 
ans2 = Radiobutton(root, text=answer2[count], variable=var, value=2, 
        command=sel) 
ans3 = Radiobutton(root, text=answer3[count], variable=var, value=3, 
        command=sel) 
ans4 = Radiobutton(root, text=answer4[count], variable=var, value=4, 
        command=sel) 

ans1.pack() 
ans2.pack() 
ans3.pack() 
ans4.pack() 

def out(): 
    global QuestionNo,correct,incorrect,s,count 
    global ans1, ans3, ans3 ,ans4, correctans 
    # count = count + 1 

    answer = (ans1 or ans2 or ans3 or ans4(var.get())) 

    print (question[QuestionNo]) 


    # print (answer[count]) 
    if count != 3: 
      if answer == correctans : 
       count = count + 1 
       QuestionNo = QuestionNo + 1 
       # entry.delete(0, END) 
       correct = correct + 1 
       label.config(text = question[QuestionNo]) 
      else: 
       QuestionNo = QuestionNo + 1 
       count = count + 1 
       # entry.delete(0, END) 
       incorrect = incorrect + 1 
       label.config(text = question[QuestionNo]) 

      # answer.delete(0, END) 
    elif count == 3: 
     # entry.delete(0, END) 
     label.config(text = "Correct: "+str(correct) + " Incorrect: "+str(incorrect)) 

    ans1.configure(text=str(answer1[count])) 
    ans2.configure(text=str(answer2[count])) 
    ans3.configure(text=str(answer3[count])) 
    ans4.configure(text=str(answer4[count])) 

button = tk.Button(root,text = "Submit",command = out) 
button.pack() 
+0

использовать 'var.set (0)'. Кстати: вам скорее нужно answer = var.get() '. Если 'answer1 [count]' является текстом, тогда вам не нужно использовать 'str()' – furas

+0

BTW: чтобы сделать код более читаемым, поместите все ваши функции перед 'root = Tk()' – furas

+0

Спасибо, что исправил его @ furas –

ответ

0

Использование var.set(0) для сброса выбора.

0

Вы использовали var для радиообъективов на разных страницах вопросов? Вы можете использовать var1 для страниц 1 и var2 для страницы 2, чтобы избежать переноса.