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()