十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
今天就跟大家聊聊有关PyQt5中如何使用textBrowser实现显示print输出语句,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

开发python程序处理大数据量的时候,少不了使用print语句看看输出结果;长时间处理数据时用print输出处理进展情况。使用PyQt5开发了UI界面后,本能地想让已自己调试好的py代码中的print输出到UI的textBrowser中显示出来。在CSDN上查了不少结果,一般都是使用多线程。我对多线程研究不多,就采用了变通办法,效果还挺好。
在Ui界面程序(Ui_startaml.py)中设置textBrowser用于显示程序输出信息,并自己定义代码(def printf ),以后将.py程序中凡是用print的地方改用ui.printf()调用就OK.
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'D:\aml\startaml.ui'
# Created by: PyQt5 UI code generator 5.11.3
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.setEnabled(True)
MainWindow.resize(490, 390)
MainWindow.setMaximumSize(QtCore.QSize(490, 390))
font = QtGui.QFont()
#.......
#........中间自动生成代码省去....
#........
self.textBrowser = QtWidgets.QTextBrowser(self.centralWidget)
self.textBrowser.setGeometry(QtCore.QRect(10, 109, 471, 221))
self.textBrowser.setMaximumSize(QtCore.QSize(16777215, 16777215))
font = QtGui.QFont()
font.setFamily("宋体")
self.textBrowser.setFont(font)
self.textBrowser.setObjectName("textBrowser")
#..........其它语句
def printf(self,mypstr):
###
自定义类print函数,借用c语言 printf
Mypstr:是待显示的字符串
###
self.textBrowser.append(mypstr) #在指定的区域显示提示信息
self.cursor=self.tetxBrowser.textCursor()
self.tetxBrowser.moveCursor(self.cursor.End) #光标移到最后,这样就会自动显示出来
QtWidgets.QApplication.processEvents() #一定加上这个功能,不然有卡顿