By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
443,818 Members | 1,347 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 443,818 IT Pros & Developers. It's quick & easy.

output

P: n/a
Hi folks,

I have a sript that runs very well. I do my output to the python shell
with the print command. That works well, too.
print 'Error occured ' + str(i+1)

No I want to have my output into a textctrl frame in a window. I start
my script by pushing a button in my window. It starts fine but I can't
see any output. For test purposes I added the following code to the
event handler of the button:
self.textCtrl1.WriteText('TEST\n')
This produces output to my text ctrl window. So I replaced all 'print'
commands in my script with 'self.textCtrl1.WriteText ...' Unfortunately
it still doesn't work. I don't get any output from my script. I always
get an error saying self is unknown. That's why I replaced it with the
name of the file of the window and so on and so on. Nothing worked. Can
you help me telling me how I have to write my code to get an output?

Thank you very much.
Henry

Jul 18 '05 #1
Share this Question
Share on Google+
2 Replies


P: n/a
H.S. Art wrote:
I have a sript that runs very well. I do my output to the python shell
with the print command. That works well, too.
print 'Error occured ' + str(i+1)

No I want to have my output into a textctrl frame in a window. I start
my script by pushing a button in my window. It starts fine but I can't
see any output. For test purposes I added the following code to the
event handler of the button:

self.textCtrl1.WriteText('TEST\n')

This produces output to my text ctrl window. So I replaced all 'print'
commands in my script with 'self.textCtrl1.WriteText ...'


someone else will have to sort the variable scoping issues for you [1],
but in the meantime, you could try the following little trick.

1) at the top of your program, import the "sys" module:

import sys

2) in the event handler, add the following redirection code:

# redirect output to my window
class redirect:
def __init__(self, window):
self.write = window.WriteText
sys.stdout = redirect(self.textCtrl1)

</F>

1) the following links might be somewhat helpful:

http://www.python.org/doc/current/tu...00000000000000
http://www.python.org/doc/current/ref/naming.html (technical)


Jul 18 '05 #2

P: n/a
Thank you for your answer!
That "little" trick works perfect for me. :-)

Fredrik Lundh wrote:
H.S. Art wrote:
I have a sript that runs very well. I do my output to the python shell
with the print command. That works well, too.
print 'Error occured ' + str(i+1)

No I want to have my output into a textctrl frame in a window. I start
my script by pushing a button in my window. It starts fine but I can't
see any output. For test purposes I added the following code to the
event handler of the button:

self.textCtrl1.WriteText('TEST\n')

This produces output to my text ctrl window. So I replaced all 'print'
commands in my script with 'self.textCtrl1.WriteText ...'


someone else will have to sort the variable scoping issues for you [1],
but in the meantime, you could try the following little trick.

1) at the top of your program, import the "sys" module:

import sys

2) in the event handler, add the following redirection code:

# redirect output to my window
class redirect:
def __init__(self, window):
self.write = window.WriteText
sys.stdout = redirect(self.textCtrl1)

</F>

1) the following links might be somewhat helpful:

http://www.python.org/doc/current/tu...00000000000000
http://www.python.org/doc/current/ref/naming.html (technical)



Jul 18 '05 #3

This discussion thread is closed

Replies have been disabled for this discussion.