Python 2.7 WXPYTHON(名称错误:未定义全局名称';myFrame';)

Python 2.7 WXPYTHON(名称错误:未定义全局名称';myFrame';),python-2.7,wxpython,Python 2.7,Wxpython,下面是错误的屏幕截图。为什么会发生这种情况 我无法理解您是如何运行该代码的,因为您的如果&uuuuu name\uuuuuu='\uuuuu main\uuuu'和您的main方法在myFrame类中缩进。尝试缩进它,我的意思是您的代码结尾应该是: def main(): app = myApp() app.MainLoop() if __name__ == '__main__': main() 此外,您的命名约定不是python式的。 Python建议类名使用大写

下面是错误的屏幕截图。为什么会发生这种情况


我无法理解您是如何运行该代码的,因为您的
如果&uuuuu name\uuuuuu='\uuuuu main\uuuu'
和您的
main
方法在
myFrame
类中缩进。尝试缩进它,我的意思是您的代码结尾应该是:

def main():
    app = myApp()
    app.MainLoop()

if __name__ == '__main__':
    main() 
此外,您的命名约定不是python式的。
Python建议类名使用大写字母,常量使用大写字母加下划线,其他名称使用小写字母加下划线分隔。

这可能就是您试图实现的目标。尽管在向StackOverflow发布时,您应该将代码剪切并粘贴到问题中,而不是将其放在链接中,尤其是链接中链接是一个图像。
如果你让他们很难做到这一点,那么很少有人会努力帮助你

import wx

class MyApp(wx.App):
    def OnInit(self):
        self.frame = MyFrame()
        self.SetTopWindow(self.frame)
        return True

class MyFrame(wx.Frame):
    def __init__(self):
        wx.Frame.__init__(self,None, title="Window", pos = (100,150), size =(250,200))
        menu = wx.Menu()
        menu.Append(1,'&About')
        menu.AppendSeparator()
        menu.Append(2,'E&xit')
        menuBar = wx.MenuBar()
        menuBar.Append(menu,'&File')
        self.Bind(wx.EVT_MENU, self.OnAbout, id=1)
        self.Bind(wx.EVT_MENU, self.OnExit, id=2)
        self.SetMenuBar(menuBar)
        self.Layout()
        self.Show()

    def OnExit(self, evt):
        self.Destroy()

    def OnAbout(self, evt):
        print("This is MyFrame")

if __name__ == "__main__":
    app = MyApp()
    app.MainLoop()