python解释器的输出_PYQT:如何捕获python解释器的输出并将其显...

参考here帖子.有人可以给我详细的解释如何将打印语句的输出附加到PYQT中的QEditext上吗…我尝试了上面给出的代码,但是它不完整,我得到了:

TypeError: connect() slot argument should be a callable or a signal, not 'QTextEdit'

在第一个文件中,我写道:

from PyQt4 import QtCore

class EmittingStream(QtCore.QObject):

textWritten = QtCore.pyqtSignal(str)

def write(self, text):

self.textWritten.emit(str(text))

在一个单独的文件中,我导入了第一个文件,如下所示:

from PyQt4 import QtGui, QtCore

import os, sys

class Window(QtGui.QWidget):

def __init__(self):

QtGui.QWidget.__init__(self)

self.et=QtGui.QTextEdit()

layout = QtGui.QVBoxLayout(self)

layout.addWidget(self.et)

sys.stdout = EmittingStream(textWritten=self.et)

def __del__(self):

# Restore sys.stdout

sys.stdout = sys.__stdout__

def normalOutputWritten(self, text):

"""Append text to the QTextEdit."""

# Maybe QTextEdit.append() works as well, but this is how I do it:

cursor = self.et.textCursor()

cursor.movePosition(QtGui.QTextCursor.End)

cursor.insertText(text)

self.et.setTextCursor(cursor)

self.et.ensureCursorVisible()

if __name__ == '__main__':

import sys

app = QtGui.QApplication(sys.argv)

window = Window()

window.show()

sys.exit(app.exec_())

我知道我的代码不完整…应该添加什么信号?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值