Python 刷新单选按钮选择
我用tkinter做了一个测验,我碰到了一个小问题。在为第一个问题选择答案并单击提交后,已从上一个问题中为下一个问题选择相同的单选按钮。是否有可能刷新页面,使下一个问题没有选定的答案 此图显示为第一个问题选择的答案 单击“提交”后,已选择相同的单选按钮选项Python 刷新单选按钮选择,python,button,tkinter,radio,Python,Button,Tkinter,Radio,我用tkinter做了一个测验,我碰到了一个小问题。在为第一个问题选择答案并单击提交后,已从上一个问题中为下一个问题选择相同的单选按钮。是否有可能刷新页面,使下一个问题没有选定的答案 此图显示为第一个问题选择的答案 单击“提交”后,已选择相同的单选按钮选项 使用var.set(0)重置选择。您是否对不同问题页面中的单选按钮使用了var?您可以对第1页使用var1,对第2页使用var2,以避免结转。使用var.set(0)。顺便说一句:您需要answer=var.get()。如果answer1
使用
var.set(0)
重置选择。您是否对不同问题页面中的单选按钮使用了var?您可以对第1页使用var1,对第2页使用var2,以避免结转。使用var.set(0)
。顺便说一句:您需要answer=var.get()
。如果answer1[count]
是文本,那么您不必使用str()
BTW:为了使代码更可读,请将所有函数放在root=Tk()之前。
谢谢,这就解决了问题@furas@furas我无法提出另一个问题,我想知道你是否可以在另一件事上帮助我。当我运行这个测试时,我似乎在“label.config(text=question[QuestionNo])行上出现了一个“列表索引超出范围”错误。你知道为什么吗?检查QuestionNo
-消息索引超出范围
表示你有(例如)4个问题,但你试图回答第5个问题。记住,如果你有4个问题,那么它的数字是0-3,而不是1-4。
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()