答案 0 :(得分:0)
我无法弄清楚您是如何运行该代码的,因为if __name__ == '__main__'
和main
方法在myFrame
类中缩进。尝试缩进它我的意思是你的代码结束应该是:
def main():
app = myApp()
app.MainLoop()
if __name__ == '__main__':
main()
另外,您的命名约定不是pythonic。
Python recommends UpperCamelCase for class names, CAPITALIZED_WITH_UNDERSCORES for constants, and lowercase_separated_by_underscores for other names.
答案 1 :(得分:0)
这可能是你想要实现的目标。虽然在发布到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()