我正在尝试遵循“wxPython in action”一书中的清单 1.3。
我相信我已经编写了代码的精确副本:
"""Hello, wxPython! program."""
import wx
class Frame(wx.Frame):
"""Frame class that displays an image."""
def __init__(self,image, parent=None, id=-1, pos=wx.DefaultPosition, title='Hello, wxPython!'):
"""Create a Frame instance and display image."""
temp = image.ConvertToBitmap()
size = temp.GetWidth(), temp.GetHight()
wx.Frame.__init__(self, parent, id, title, pos, size)
self.bmp = wx.StaticBitmap(parent = self, bitmap = temp)
class App(wx.App):
"""Application class."""
def OnInit(self):
image = wx.Image('wxPython.jpg', wx.BITMAP_TYPE_JPEG)
self.frame = Frame(image)
self.frame.Show()
self.SetTopWindow(self.frame)
return True
def main():
app = App()
app.MainLoop()
if __name__ == '__main__':
main()
...但是当我运行代码时收到以下错误消息:
>>>
Traceback (most recent call last):
File "<string>", line 254, in run_nodebug
File "\\ri-file-2\cst$\image.py", line 28, in <module>
class App(wx.App):
File "\\ri-file-2\cst$\image.py", line 43, in App
main()
File "\\ri-file-2\cst$\image.py", line 39, in main
app = App()
NameError: global name 'App' is not defined
>>>
任何人都可以找出问题所在 - 提前谢谢。