首先,写一个信号,用来发射标准输出作为信号

class EmittingStream(QtCore.QObject):
textWritten = QtCore.pyqtSignal(str) #定义一个发送str的信号
def write(self, text):
self.textWritten.emit(str(text))
class Ui_MainWindow(QtWidgets.QMainWindow):
def __init__(self):
super(Ui_MainWindow,self).__init__()
self.setupUi(self)
self.retranslateUi(self) def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(1131, 667)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.textEdit = QtWidgets.QTextEdit(self.scrollAreaWidgetContents_2)
self.textEdit.setGeometry(QtCore.QRect(0, 0, 731, 301))
self.textEdit.setObjectName("textEdit")
self.textEdit.setReadOnly(True)
#下面将输出重定向到textEdit中
sys.stdout = EmittingStream(textWritten=self.outputWritten)
sys.stderr = EmittingStream(textWritten=self.outputWritten)
#接收信号str的信号槽
def outputWritten(self, text):
cursor = self.textEdit.textCursor()
cursor.movePosition(QtGui.QTextCursor.End)
cursor.insertText(text)
self.textEdit.setTextCursor(cursor)
self.textEdit.ensureCursorVisible()

PYQT5实现控制台显示功能的更多相关文章

  1. pyqt5 笔记(三)py2exe 实现代码打包exe

    python3.4 安装64位的版本 py2exe 下载地址: https://pypi.python.org/pypi/py2exe/0.9.2.0#downloads cmd——>进入pyf ...

  2. centos qt5,PyQt5 installation

    一.SIP http://www.riverbankcomputing.com/software/sip/download   二.Centos6.5 qt 安装 1,centos linux系统必须 ...

  3. 使用pycharm+pyqt5 调取界面程序

    一.使用QtDesigner制作界面 1)打开的界面设计工具QtDesigner,如图: 2)新建窗体,选择Main Window: 3)分别在窗口添加如下控件,Calendar.3个pushButt ...

  4. PyQT5 helloworld教程(转载)

    转载节选自该博客地址:http://blog.csdn.net/u013401853/article/details/54581512,博主的步骤写的很详细,感谢! QT Creator安装 因为我们 ...

  5. pyqt5界面使用

    安装配置了pyuic和pyrcc后再进行下面操作 1.打开:       位置(我的):C:\Users\AppData\Roaming\Python\Python35\site-packages\p ...

  6. GUI学习之一——PyQt5初识

    我们在第〇篇里先演示了GUI的功能,其实Python有多个库是支持GUI编程的,python官网列出了大量的说明,其中包括了原生的tkinter 还有许多第三方库 Pyqt PySide wxPyth ...

  7. PyQt5初级教程(一)

    python 版qt入门级使用说明 我使用的是python3.5安装PyQt5: pip3 install PyQt5 可以用如下代码测试环境是否安装成功,运行成功会弹出一个窗口: from PyQt ...

  8. 如何实现PyQt5与QML响应彼此发送的信号?

    对于PyQt5+QML+Python3混合编程,如何实现PyQt5与QML响应彼此发送的信号,这是一个棘手的问题. 大抵有如下五种方式: (要运行下面五个例子,千万不能在eric6中运行,会报错.错误 ...

  9. PyQt5系列教程(五)制作fastboot烧写器

    软硬件环境 Windows 7 Python 3.4.2 PyQt 5.5.1 PyCharm 5.0.2 前言 fastboot是针对Android设备的一种刷机方式,它比recovery更底层,刷 ...

随机推荐

  1. JMeter初体验

    Meter是开源软件Apache基金会下的一个性能测试工具,用来测试部署在服务器端的应用程序的性能. 1.JMeter下载和安装 JMeter可以在JMeter的官方网站下载,目前能下载的是JMete ...

  2. She Left Her Shoes

    She left her shoes, she took everything else, her toothbrush, her clothes, and even that stupid litt ...

  3. Ionic模版的使用

    Hybird HTML5 App(移动应用开发)之4.Ionic模版的使用 在Windows系统下使Ionic模版,可以使用之前安装的Git工具中的Git Bash.在Mac系统中可以直接使用系统自带 ...

  4. Prometheus Node_exporter 之 Network Netstat UDP

    Network Netstat UDP /proc/net/snmp 1. UDP In / Out type: GraphUnit: shortLabel: Datagrams out (-) / ...

  5. 在 Azure 中创建通用 VM 的托管映像

    可以从在存储帐户中存储为托管磁盘或非托管磁盘的通用 VM 中创建托管映像资源. 然后可以使用该映像创建多个 VM. 使用 Sysprep 通用化 Windows VM Sysprep 将删除所有个人帐 ...

  6. Spine Skeleton Animation(2D骨骼动画)

    骨骼动画 首先我们来看到底什么是骨骼动画: 在早期的机器上,渲染本身已经占用了很多CPU资源,因此,对于渲染,往往采取的是一种空间换时间的策略,以避免在模型的渲染中继续加重CPU的负担.帧动画模型在这 ...

  7. Orange Pi 3 GPIO 笔记

    这是我写过的最水的文章 设备:Orange pi H6,Pi 3 引脚图: (使用Wiringpi 查看GPIO) +------+-----+----------+------+---+Orange ...

  8. 团队作业7——第二次项目冲刺(Beta版本)day1

    项目成员:  曾海明(组长):201421122036 于波(组员):201421122058 蓝朝浩(组员):201421122048 王珏 (组员):201421122057 叶赐红(组员):20 ...

  9. 关于MVC开发时,无法找到area的问题记录

    解决方法: 检查area=admin 的dll是否生成,一般都是admin域生成dll导致

  10. 带有function的JSON对象的序列化与还原

      JSON对象的序列化与反序列化相信大家都很熟悉了.基本的api是JSON.parse与JSON.stringify. var json={ uiModule:'http://www.a.com', ...