【问题标题】:wxPython: Name errorwxPython:名称错误
【发布时间】:2013-09-02 08:21:53
【问题描述】:

我正在尝试遵循“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
>>> 

任何人都可以找出问题所在 - 提前谢谢。

【问题讨论】:

    标签: python python-2.7 wxpython


    【解决方案1】:

    由于缩进错误,您的main 子程序和if __name__ == '__main__' 位现在属于App 类。通过删除前四个空格来取出它们:

            ...
            self.SetTopWindow(self.frame)
            return True
    
    def main():
        app = App()
        app.MainLoop()
    
    if __name__ == '__main__':
        main()
    

    另外,请确保程序文件夹中有wxPython.jpg 文件,否则程序将无法运行。

    附言。在这行代码中:

        size = temp.GetWidth(), temp.GetHight()
    

    应该是GetHeight() 而不是GetHight()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-29
      • 2018-08-22
      • 2016-10-14
      • 1970-01-01
      相关资源
      最近更新 更多