该变量显然没有定义,尽管已经使用过。代码为here
如您所见,我试图将变量声明为全局变量。
完整错误:
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\matth\AppData\Local\Programs\Python\Python35-32\lib\tkinter\__init__.py", line 1550, in __call__
return self.func(*args)
File "C:\Users\matth\OneDrive\Documents\Assesment.py", line 145, in incorrect
unpackOne()
File "C:\Users\matth\OneDrive\Documents\Assesment.py", line 173, in unpackOne
questionTextOne.pack_forget()
NameError: name 'questionTextOne' is not defined
答案 0 :(得分:1)
您已在questionTextOne
中将unpackOne
声明为全局,但没有其他范围与此相同。当unpackOne
尝试使用questionTextOne
的预先存在的值时,没有一个值。程序中使用相同变量名的唯一其他位置是ask
(参见第38行),但ask
将其保留为单独的变量。
如果您希望与该程序的其余部分共享,请告诉ask
以区别方式共享它。插入
global questionTextOne
第26行。
请注意,全局变量通常是一个坏主意。您通常应该根据需要将对象从例程传递给例程。