2014-07-11 41 views
-2

我想调出选项的名称,如“您已选择G”,但它似乎有错误召唤出单选按钮文本蟒蛇

Exception in Tkinter callback 
Traceback (most recent call last): 
    File "D:\Python27\lib\lib-tk\Tkinter.py", line 1486, in __call__ 
    return self.func(*args) 
    File "C:\Users\Xavier_\Downloads\gui.py.py", line 21, in sel 
    selection = "You have selected " + str(text.get()) 
NameError: global name 'text' is not defined 


def sel(): 
    selection = "You have selected " + str(text.get()) 
    label.config(text = selection) 


var = IntVar() 
R1 = Radiobutton(root, text="G", variable=var, value=1, 
        command=sel) 
+0

艾尔我们应该猜测你得到的错误?你需要把它包含在你的问题中! – ThiefMaster

+0

@ThiefMaster edited.sorry,我在这里是新的 – user3817491

+0

没问题,但总的来说:**总是**在向人们询问错误时包含所有必要的信息。这不是特定的! – ThiefMaster

回答

0

text在你的代码是不是一个变量,这是Radiobutton()的选项,你得到的值是你的var变量,它是一个Int,而不是文本。

我想你想要做这样的事情:

def sel(): 
    selection = "You have selected " + str(v.get()) 
    label.config(text= selection) 


v = StringVar() 
R1 = Radiobutton(root, text="G", variable=v, value="G", 
        command=sel) 

我已经改变了变数名称,因为我不喜欢使用它,它的一些。语言保留。

+0

我明白了:)谢谢! – user3817491