成都网站建设设计

将想法与焦点和您一起共享

PyQt5中如何使用textBrowser实现显示print输出语句-创新互联

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

当前题目:PyQt5中如何使用textBrowser实现显示print输出语句-创新互联
转载注明:http://chengdu.cdxwcx.cn/article/depdpd.html