看了国内帖子基本上只有说PyQt5的怎么实现的:
《控制台信息转移到textedit控件上显示——知乎》
《PYQT小笔记(2):控制台内容打印到textEdit控件》

只好去Stack Overflow上看了看大神们怎么做的,找了很长时间才在一个PyQt5的问题下面一个回答看到小小的PySide题外话,最后终于借助这个自己尝试了出来:


一个界面上,我们只实现这个QTextEdit类型的控件,命名为edt_log

1、定义一个重定向信号,将python要打印的信息从控制台输出 ->重定向到edt_log控件输出

from PySide2.QtCore import QEventLoop, QTimer
from PySide2 import QtCore# 重定向信号
class EmittingStr(QtCore.QObject):textWritten = QtCore.Signal(str)  # 定义一个发送str的信号,这里用的方法名与PyQt5不一样def write(self, text):self.textWritten.emit(str(text))loop = QEventLoop()QTimer.singleShot(1000, loop.quit)loop.exec_()

2、Qt Designer中我们新建窗口MainWindow,新增一个QTextEdit控件并命名为edt_log。
我们先加入方法outputWritten用于重定向信号

from PySide2 import QtGui
from PySide2.QtCore import Slotclass MainWindow:... 你的其他代码@Solt()      # 这个装饰器不加也行,下面edt_log要改成你自己文本框的名字def outputWritten(self, text):#self.edt_log.clear()cursor = self.edt_log.textCursor()cursor.movePosition(QtGui.QTextCursor.End)cursor.insertText(text)self.edt_log.setTextCursor(cursor)self.edt_log.ensureCursorVisible()...  你的其他代码

3、还有在MainWindow界面初始化时,就需要连接重定向信号,也就是在__init__方法中写。这里也与PyQt5不同

import sys
class MainWindow:def __init__(self):# 下面将输出重定向到QTextEdit控件中import syssys.stdout = EmittingStr()self.ui.edt_log.connect(sys.stdout, QtCore.SIGNAL("textWritten(QString)"), self.outputWritten)sys.stderr = EmittingStr()self.ui.edt_log.connect(sys.stderr, QtCore.SIGNAL("textWritten(QString)"), self.outputWritten)

注意:只对Python输出的控制台有用,如果像是Python调用C++生成的DLL,DLL自己在控制台输出的信息是显示不到QTextEdit上的。


PySide2参考:
《print - python logging to qtextedit》
《How to capture output of Python’s interpreter and show in a Text widget?》

PySide2将控制台内容打印到textEdit控件相关推荐

  1. linux qt 打印预览控件,Qt实现保存、浏览、预览、打印功能的示例代码

    Qt提供了以文本.图片.HTML等方式来实现对文档的操作,主要用到了QPrinter类和QPainter类,用到了QFileDialog文件窗口.QPrintPreviewDialog预览窗口类和QP ...

  2. DevExpress的TextEdit控件没法调整高度解决

    场景 Winform控件-DevExpress18下载安装注册以及在VS中使用: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1 ...

  3. 内容页响应母版页控件的事件

    内容页响应母版页控件的事件 在内容页里面,如果想响应位于母版页的控件的事件,该怎么办呢? MSDN开宗明义地告诉我们:对于控件而言,事件是在本地处理的,即内容页中的控件在内容页中引发事件,母版页中的控 ...

  4. html页面如何引用母版页,内容页面访问母版页控件的两种方法

    母版页是ASP.NET2.0新增的一个功能,使用它可以更方便.更快速的创建风格一致的应用程序..NET的母版页和Dreamweaver的模板非常的相似,但.NET的母版页更加强大,它除了能够实现创建风 ...

  5. 0pyqt获取textEdit控件的文本

    仅作为记录,大佬请跳过. 获取获取textEdit控件的文本的命令是 toPlainText() TEXT=self.textEdit.toPlainText() 而linEdit才直接用text() ...

  6. C# dev控件色卡说明颜色卡片实现,运用TextEdit控件实现颜色卡片效果

    运用TextEdit控件实现颜色卡片效果: 1.右键设置TextEdit属性Image and Text 2.属性CanOpenEdit 设置true 属性Caption 为文字说明 属性Captio ...

  7. 【JS】通过JS实现超市小票打印功能——ActiveX控件

    应客户的需求= = ,要在网页端实现打印小票的功能 先来一张打印出的小票效果图(合计明显不对,因为有修改订单功能,请各位忽略) 用什么方法实现呢: 我想应该是有三种吧 1.用第三方的浏览器控件(这个好 ...

  8. 二维码打印-非EXCEL控件和非SmartForm方式

    项目遇到奇葩问题,优化工票打印增加二维码的功能时发现用户的电脑不支持EXCEL的二维码控件,但是二维码是车间MES APP 派工的必要条件而且现在的打印程序已经是EXCEL打印,excel模板有四个s ...

  9. MFC程序调用Windwos CMD命令打印图片 MFC 控件显示层次调整,即(叠放次序)和绘制遮挡置于底层顶层灰色

    MFC打印 打电话 ShellExecute 从您的计划中 print 操作 (特好用) ShellExecute(NULL,"print","c:\\test.png& ...

  10. A4大小,打印时不打控件

    <div style="width:640px; height:920px; margin:0px auto;background-color:white;"> < ...

最新文章

  1. 看看你的一身秋膘,是五花肉还是雪花肉?
  2. 剖析 Linux hypervisor
  3. 网络营销外包期间如何提升网络营销外包外链优化效果?
  4. [提示]使用普通用户,通过sealos安装ks,默认还是要通过root用户才能正常使用kubectl等命令
  5. SQL10 用where过滤空值练习
  6. matlab中统计工具箱函数名大全
  7. Java高级语法笔记-枚举类型
  8. 每天学点SpringCloud(八):使用Apollo做配置中心
  9. Khronos关于WebGL最新进展
  10. asp.net门诊收费管理系统
  11. php 汉字unico编码范围,汉字 Unicode 编码范围
  12. stagefright
  13. 人脸识别技术细节总结
  14. type-c速度测试软件,Type-C读写速度太慢 你真的使用了正确的方法了吗
  15. 用U盘制作win7系统安装盘
  16. SpringBoot统一返回处理出现cannot be cast to java.lang.String异常
  17. linux中默认文件666和目录777的权限关系
  18. 3分钟学会使用Elasticsearch跨集群复制功能(CCR)
  19. 宿主机使用wifi时虚拟机如何连网
  20. 【JAVA】 容纳对象 数组

热门文章

  1. maven安装配置:报错NB: JAVA_HOME should point to a JDK not a JRE
  2. zebradesigner2教程_斑马条码打印机动安装及ZebraDesigner操作指导.doc
  3. roseha linux,RoseHA 9.0 for Linux快速安装说明_v2.0-2015-04.pdf
  4. 深度linux系统怎么安装软件
  5. 最常见的社会工程攻击
  6. star法则开发简历模板_软件开发的第一法则
  7. html不能默认IE浏览器,编辑告诉您win7如何设置ie为默认浏览器的完全解决办法
  8. 如何安装旧版iOS软件?
  9. 干货 | 基于JMP的方差分析及两两比较的思路与实现
  10. 微信小程序中引入iconfont阿里矢量图库