Wxwidgets и Pyqt - PullRequest
       12

Wxwidgets и Pyqt

1 голос
/ 23 августа 2010

Есть ли аналогичная функция PyOnDemandOutputWindow в Pyqt?Эта функция перенаправляет вывод консоли в отдельное окно.

1 Ответ

4 голосов
/ 23 августа 2010

Можно заменить sys.std[out|err] оболочкой, которая записывает весь вывод, например, в QPlainTextEdit.Очень простой пример:

class StdoutWrapper(object):
    def __init__(self, outwidget):
        self.widget = outwidget
        self.widget.setReadOnly(True) # assuming QPlainTextEdit
        self.widget.hide()

    def write(self, s):
        self.widget.show()
        self.widget.appendPlainText(s) # again assuming QPlainTextEdit

И еще где-то:

import sys

sys.stdout = StdoutWrapper(yourwidget)
# similar for stderr, but you might want an error dialog or make 
# the text stand out using appendHtml
...