TypeError:在方法' new_Frame'中,期望参数2类型' int'

时间:2015-05-29 10:19:28

标签: python user-interface window wxpython frame

import wx
class MainWindow(wx.Frame):
    def _init_ (self, parent, title):
        wx.Frame. __init__(self, parent, title=title, size=(200, 100))
        self.control = wx.TextCtrl(self, style=wx.TE_MULTILINE)
        self.CreateStatusBar()

        #setting up the menu

        filemenu = wx.Menu()

        menuAbout = filemenu.Append(wx.ID_ABOUT, "About", "information about the use of this program")
        menuExit = filemenu.Append(wx.ID_EXIT, "Exit", "Exit this program")

        menuBar = wx.MenuBar()

        menuBar.Append(filemenu,"File")
        self.SetMenuBar(menuBar)
        self.Bind(wx.EVT_MENU, self.OnAbout, menuAbout)
        self.Bind(wx.EVT_MENU, self.OnExit, menuExit)

        self.Show(True)

    def OnAbout(self,e):
        dlg = wx.MessageDialog(self, "A small text editor", "About sample     editor", wx.OK)
        dlg.ShowModal()
        dlg.Destroy()

    def OnExit(self,e):
        self.Close(True)
    app = wx.App(False)
    frame = MainWindow(None, "sample editor")
    app.MainLoop()

以下是完整的追溯:

C:\Python27\python.exe "C:/Users/User/Google Drive/order/menubar.py" 
Traceback (most recent call last): 
File "C:/Users/User/Google Drive/order/menubar.py", line 39, 
    in <module> frame = MainWindow(None, "sample editor") 
File "C:\Python27\lib\site-packages\wx-3.0-msw\wx_windows.py", line 580, 
    in init windows.Frame_swiginit(self,windows.new_Frame(*args, **kwargs)) 
TypeError: in method 'new_Frame', expected argument 2 of type 'int' 
Process finished with exit code 1 

1 个答案:

答案 0 :(得分:0)

  1. 检查wx.Frame.__init__方法名称的拼写。它只有1个下划线 而不是2
  2. 检查app = wx.App(False)行的拼写。是否有过多的空间
  3. 检查从行import wx class MainWindow(wx.Frame): def __init__ (self, parent, title): wx.Frame.__init__(self, parent, title=title, size=(200, 100)) self.control = wx.TextCtrl(self, style=wx.TE_MULTILINE) self.CreateStatusBar() #setting up the menu filemenu = wx.Menu() menuAbout = filemenu.Append(wx.ID_ABOUT, "About", "information about the use of this program") menuExit = filemenu.Append(wx.ID_EXIT, "Exit", "Exit this program") menuBar = wx.MenuBar() menuBar.Append(filemenu,"File") self.SetMenuBar(menuBar) self.Bind(wx.EVT_MENU, self.OnAbout, menuAbout) self.Bind(wx.EVT_MENU, self.OnExit, menuExit) self.Show(True) def OnAbout(self,e): dlg = wx.MessageDialog(self, "A small text editor", "About sample editor", wx.OK) dlg.ShowModal() dlg.Destroy() def OnExit(self,e): self.Close(True) app = wx.App(False) frame = MainWindow(None, "sample editor") app.MainLoop()
  4. 开始的缩进

    之后,您的代码应如下所示:

    {{1}}