Wirror 发表于 2021-7-11 14:02:36

作用域问题

本帖最后由 Wirror 于 2021-7-11 14:04 编辑

people窗口关闭后显示top没有定义,但是top只是withdraw了
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\tkinter\__init__.py", line 1883, in __call__
    return self.func(*args)
File "G:\login.py", line 85, in show
    top.update()
NameError: name 'top' is not defined
#### b.py中的函数 ####
from b import *
class Application1(Application_ui):
    #这个类实现具体的事件处理回调函数。界面生成代码在Application_ui中。
    def __init__(self, master=None):
      Application_ui.__init__(self, master)

    def set_Cmd(self, event=None):
      top.withdraw()
      people_set()
    def show(self, event=None):
      top.update()
      top.deiconify()
if __name__ == "__main__":
    top = Tk()
    Application1(top).mainloop()



#### b.py中的函数 ####
from a import *
def people_set():
    people = Tk()
    people.protocol('WM_DELETE_WINDOW', Application1().show)
    Application(people).mainloop()



nahongyan1997 发表于 2021-7-28 14:34:58

本帖最后由 nahongyan1997 于 2021-7-28 14:37 编辑

现在能看到的代码看不出什么问题,代码没放全吧。
页: [1]
查看完整版本: 作用域问题