Hello, this is also done in my example. sys.__stderr__ stores the original value of the error output handler. If a new message is shown it is also written to this object:
Main class: sys.stderr = lib.log.QtOutput(self.logWindow.outputEdit, sys.__stderr__, QColor(Qt.red)) QtOutput class: def __init__(self, parent, out=None, color=None): # ... out is sys.__stderr__ def write(self, m): # Write message to TextEdit self.textWidget.insertPlainText( m ) # Write message to original sterr self.out.write(m) Am Freitag 08 Mai 2009 03:28:01 schrieb Grissiom: > 在 星期四 07 五月 2009 23:32:26,Lukas Hetzenecker 写道: > > > Hello, > > > > you could redirect the interpreter’s standard error output stream: > > sys.stderr = YourClass(window.edit, sys.__stderr__, QColor(Qt.red)) > > YourClass in an "file-like" object (it has an write function) > > window.edit is an instance of Qt's QTextEdit class and is used to display > > the message. > > It seems this is a Really good idea! But what if I want to write messages > to the original stderr(i.e, to the terminal)? _______________________________________________ PyQt mailing list [email protected] http://www.riverbankcomputing.com/mailman/listinfo/pyqt
