I just switched from using wxPySimpleApp to wxApp and
get this very annoying window that appears with the
stderr/stdout stuff in it. I want stderr/stdout to
go to the console like it did before.
Even worse than that, even though I SetTopWindow for
my frame and SetExitOnFrameDelete(True), the app
doesn't exit until that stderr/stdout window is shut.
I have tried setting sys.stdout back to sys.__stdout__
but can't seem to find the right place.
Roger
wxApp takes a number of optional arguments when you create an instance.
The first is redirect=(True/False) which defaults to True for Windows and
MacOS platforms. The second argument is filename=(None/<name>) which
defaults to None. So, if redirect is True, stdout/stderr stuff goes either
to a file or to the window that you are seeing. To have it go to the
console, explicitly set redirect to False.
Er, I don't know if this is officially documented anywhere, but you can
see it all in <python>/Lib/site-packages/wxPython/wx.py
Regards,
David Hughes
Forestfield Software Ltd
www.forestfield.co.uk
Maybe you would think differently if some bug in your
code accidentally closed the top window and all your
diagnostics disappeared since the stdout/stderr window
was closed as well...
Also, an application can have several top level windows...
ยทยทยท
At 23:18 2003-08-12 -0700, Roger Binns wrote:
I still think it is
a bug that closing the TopWindow doesn't cause the app to exit if the
stder/stdout window is displayed.
--
Magnus Lycka (It's really Lyckå), magnus@thinkware.se
Thinkware AB, Sweden, www.thinkware.se
I code Python ~ The Agile Programming Language
Maybe you would think differently if some bug in your
code accidentally closed the top window and all your
diagnostics disappeared since the stdout/stderr window
was closed as well...
Also, an application can have several top level windows...
You ignored that I explcitly set SetExitOnFrameDelete(True)
and SetTopWindow(). The documentation makes it very clear
that if you do that, closing that top frame will cause
the application to exit. That is exactly why I called
those functions. I don't see how the presence of the
stderr/out window should suddenly make the application
not exit.
As for diagnostics etc, that is an issue for you as a developer
to resolve. I happen to catch exceptions etc and do something
useful with them. I also have a few print statements lying
around as reminders to do some stuff.
If the stderr/out window is important to you, then don't set
SetExitOnFrameDelete
Roger