今天就跟大家聊聊有关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() #一定加上这个功能,不然有卡顿