wxPython code giving strange errors.
Mike Driscoll
kyosohma at gmail.com
Sun Jul 13 19:30:25 EDT 2008
On Jul 13, 10:18 am, teh_sAbEr <teh.sa... at gmail.com> wrote:
> I'm busy trying to learn wxPython, and i'm trying to run the following
> piece of code (its from the wxPyWiki tutorial):
>
> import wx
>
> ID_ABOUT = 101
> ID_EXIT = 110
>
> class MainWindow(wx.Frame):
> def __init__(self,parent,id,title):
> wx.Frame.__init__(self,parent,wx.ID_ANY,title,size=(200,100))
> self.control = wx.TextCtrl(self,1,style=wx.TE_MULTILINE)
> self.CreateStatusBar()
>
> filemenu = wx.Menu()
> filemenu.Append(ID_ABOUT,"&About"," Information about this
> program.")
> filemenu.AppendSeparator()
> filemenu.Append(ID_EXIT,"E&xit"," Terminate the program.")
>
> menuBar = wx.MenuBar()
> menuBar.Append(filemenu,"&File")
> self.SetMenuBar(menuBar)
> self.Show(True)
>
> app = wx.PySimpleApp()
> frame = MainWindow(None, -1, "Sample editor")
> app.MainLoop()
>
> Simple enough, but every single time I try to run it IDLE gives me
> this instead of the app I was hoping for:
>
> Traceback (most recent call last):
> File "C:\Documents and Settings\Enrico Jr\My Documents\Jr's Crap
> \Python Stuff\Batch Picture Converter\main.py", line 24, in <module>
> frame = MainWindow(None, -1, "Sample editor")
> File "C:\Documents and Settings\Enrico Jr\My Documents\Jr's Crap
> \Python Stuff\Batch Picture Converter\main.py", line 9, in __init__
> wx.Frame.__init__(self,parent,wx.ID_ANY,title,size=(200,100))
> File "C:\Python25\Lib\site-packages\wx-2.8-msw-unicode\wx
> \_windows.py", line 501, in __init__
> _windows_.Frame_swiginit(self,_windows_.new_Frame(*args,
> **kwargs))
> PyNoAppError: The wx.App object must be created first!
>
> As far as I can tell, the wx.App object IS being created first. I
> suspect a race condition of some sort here, but can anyone shed some
> light on this?
This code works "as is" on Windows XP. However, I have gotten this
error when trying to run it from IDLE and I've heard that that can
happen in other Tkinter-based IDEs. Try running it from the command
line and I'll bet you won't get that error.
Also, there's a great wxPython user's group you can join from the
official website:
www.wxpython.org
Mike
More information about the Python-list
mailing list