Python 为什么tkinter radiobutton中未设置默认值?
下面的代码将遍历字典中的名称列表,然后创建单选按钮。在迭代之前,设置/初始化默认值。几乎相同的代码是以不同的方式设置的,默认值没有设置,并且不确定我缺少了什么。任何协助都将不胜感激 工作代码 非工作副本Python 为什么tkinter radiobutton中未设置默认值?,python,tkinter,radio-button,Python,Tkinter,Radio Button,下面的代码将遍历字典中的名称列表,然后创建单选按钮。在迭代之前,设置/初始化默认值。几乎相同的代码是以不同的方式设置的,默认值没有设置,并且不确定我缺少了什么。任何协助都将不胜感激 工作代码 非工作副本 问题可能是因为类中的v是局部变量,它在结束方法单选按钮时被销毁。使用self.保存它 self.v = IntVar() self.v.set(1) for method, value in methods: b = Radiobutton(root
问题可能是因为类中的
v
是局部变量,它在结束方法单选按钮时被销毁。使用self.
保存它
self.v = IntVar()
self.v.set(1)
for method, value in methods:
b = Radiobutton(root, text=method, variable=self.v, value=value)
_row += 1
b.grid(row=_row, column=0, sticky=W)
问题可能是因为类中的v
是局部变量,它在结束方法单选按钮时被销毁。使用self.
保存它
self.v = IntVar()
self.v.set(1)
for method, value in methods:
b = Radiobutton(root, text=method, variable=self.v, value=value)
_row += 1
b.grid(row=_row, column=0, sticky=W)
我真的很感激你的评论,你是对的。我真的很感激你的评论,你是对的。这解决了问题。我相信pycharm错误地告诉我变量在def ini之外。这就解决了问题。我相信pycharm错误地告诉我变量在defini之外。
self.v = IntVar()
self.v.set(1)
for method, value in methods:
b = Radiobutton(root, text=method, variable=self.v, value=value)
_row += 1
b.grid(row=_row, column=0, sticky=W)