Python 3.x 将在for循环中创建的tkinter单选按钮重置为默认值

Python 3.x 将在for循环中创建的tkinter单选按钮重置为默认值,python-3.x,tkinter,Python 3.x,Tkinter,我正在for循环中创建单选按钮。我希望能够用一个按钮重置它们的所有值(基本上重新开始调查),因此我创建了“self.info.buttons=[]”,并将每个radiobutton追加到此列表中。但是,当我尝试将unanswered重置为默认值“-1”时,会导致选择第一个和第四个选项,并将分组搞砸 def askQuestions(self): file = open('questions.txt') questionlist = file.readlines() for

我正在for循环中创建单选按钮。我希望能够用一个按钮重置它们的所有值(基本上重新开始调查),因此我创建了“self.info.buttons=[]”,并将每个radiobutton追加到此列表中。但是,当我尝试将unanswered重置为默认值“-1”时,会导致选择第一个和第四个选项,并将分组搞砸

def askQuestions(self):
    file = open('questions.txt')
    questionlist = file.readlines()
    for number, question in enumerate(questionlist, 1):
        self.var = tk.IntVar(value = -1)
        width = 5
        line = '{:5}'.format(number, fill=' ') + ' : ' + question.strip()
        label = tk.Label(self, text=line)
        label.grid(row=number, column = 0, sticky=tk.W)
        options = ['?', 'No', 'Maybe', 'Yes']
        for answer in range(-1,3):
            button = tk.Radiobutton(self, borderwidth=10, variable = self.var, text=options[answer+1], width = 5, value = answer, indicatoron=0)
            button.grid(row = number, column = answer+2)
        self.info.buttons.append(button) # List containing radiobuttons
        self.info.answers.append(self.var)
…重置值的函数

在名为Info()的类中:

我没有编写Python或Tkinter很长时间,这可能是一个基本的错误,但我已经尝试了我能想到的一切。可从以下网址获取来源:
也许我应该“摧毁”这个表单并重新创建它?当我开始时,重置变量似乎是更简单的选择。感谢您的帮助。

self.buttons
中,您有
Button()
对象,这些对象不保留答案。您在
IntVar()
对象中有答案,这些对象位于
self.answers
中。因此,您必须重置
self.answers

顺便说一句:您不必使用
枚举

def resetFields(self):
    self.name.set(value='')
    self.dob.set(value='')

    for a in self.answers:
        a.set(value=-1)

当您重置
self.answers
时,
按钮也会更改状态。

self.buttons
中,您拥有的
Button()
对象不保留答案。您在
IntVar()
对象中有答案,这些对象位于
self.answers
中。因此,您必须重置
self.answers

顺便说一句:您不必使用
枚举

def resetFields(self):
    self.name.set(value='')
    self.dob.set(value='')

    for a in self.answers:
        a.set(value=-1)

重置
self.answers
后,
按钮也会更改状态。

self.buttons在'info'类中,另一个函数在绝望类中,因此我使用self.info.buttons访问它。我将编辑问题以使其更清楚。self.buttons在'info'类中,另一个函数在绝望类中,因此我使用self.info.buttons访问它。我会编辑这个问题,让它更清楚。太棒了,它现在可以工作了。我认为我在这个问题上工作的时间越长,我就离解决方案越远。谢谢你,我真的很感谢你的帮助。太棒了,现在可以用了。我认为我在这个问题上工作的时间越长,我就离解决方案越远。谢谢你,我真的很感谢你的帮助。