【发布时间】:2020-06-25 11:41:18
【问题描述】:
尝试制作 9 组 4 个单选按钮,其值为 1-2-3-4。我想在单击按钮后将值相加
每当我尝试使用单选按钮调用方法时,我都会得到回溯:
File "depression.py", line 9, in print_var
print(var.get())
NameError: name 'var' is not defined
这是我的代码:
import tkinter as tk
from tkinter.ttk import *
def print_var():
print(var.get())
MODES = [
(2, "Not at all", 1),
(3, "Several days", 2),
(4, "More than half the days", 3),
(5, "Nearly everyday", 4),
]
vars = []
for r in range (2, 11):
var = tk.StringVar()
vars.append(var)
for c, text, b_val in MODES:
tk.Radiobutton(frame, text=text, variable=var, indicatoron=0, value=b_val, font=({}, 9), padx=100, pady=15, command=print_var).grid(padx=2, row=r, column=c, sticky='w')
var.trace('w', print_var)
我不明白如何将 var 分配给变量,但后来它变得未定义?我是编码新手,我相信这很简单,但我们将不胜感激。
【问题讨论】:
-
在这种情况下是
MODES,下面的代码真的在print_var方法中,就像它在您的问题中显示的那样?
标签: python tkinter radio-button