Python和tkinter:名称错误:未定义全局名称“roomChange”

2024-10-01 09:31:23 发布

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

我收到以下错误:

Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Python33\lib\tkinter\__init__.py", line 1475, in __call__
    return self.func(*args)
  File "D:\COMPUTER SCIENCE\Seating Plan\SeatingPlan TEST.py", line 205, in displayText
    if roomChange.get().strip() == "":
NameError: global name 'roomChange' is not defined

尝试运行以下代码时:

^{pr2}$

有人能提出解决我问题的办法吗? 谢谢


Tags: inpymosttkinter错误linecallbackexception
2条回答

我也有同样的问题。在

我的解决方案是:

from tkinter import * 
from tkinter import messagebox

某种名称空间问题。第二条线不应该是必要的。从语法的角度来看,import *也意味着导入messagebox,因为它是其中的一部分。在

使用这两行,去掉import tkinter.messagebox

roomChanger()中,指定给roomChange

roomChange = Entry(textFrame)

所以你也需要在函数中把这个名字标记为全局的。在该函数中添加global roomChange语句。在

另一方面,displayText()永远不要试图赋值给roomChange,并且该函数中的global语句可以安全地删除。在

相关问题 更多 >