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
答案 0 :(得分:0)
wx.Frame.__init__
方法名称的拼写。它只有1个下划线
而不是2 app = wx.App(False)
行的拼写。是否有过多的空间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()
之后,您的代码应如下所示:
{{1}}