名称错误:未定义名称“questionTextOne”

2024-04-20 05:01:59 发布

您现在位置:Python中文网/ 问答频道 /正文

这个变量显然没有定义,尽管它已经被使用过了。代码是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

Tags: 代码inpyhere定义lineonedrivecall
1条回答
网友
1楼 · 发布于 2024-04-20 05:01:59

您已经在unpackOne中将questionTextOne声明为global,但是没有其他作用域同意这个想法。当unpackOne尝试为questionTextOne使用预先存在的值时,没有值。程序中唯一使用相同变量名的地方是ask(参见第38行),但是ask将其作为一个单独的变量。你知道吗

如果你想和程序的其他部分共享,告诉ask公开地共享它。插入

global questionTextOne

在第26行。你知道吗

注意全局变量通常是个坏主意。通常应该根据需要将对象从一个例程传递到另一个例程。你知道吗

相关问题 更多 >