zoukankan      html  css  js  c++  java
  • PYQT5实现控制台显示功能

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

    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()   

  • 相关阅读:
    .gitignore 文件没起作用
    HTML 中img标签不显示
    关于拖拽
    关于javascript三目
    封装ajax
    javascript-时间戳
    关于Vue实例的生命周期created和mounted的区别
    ES6核心内容讲解
    jsonp跨域请求
    javascript-AJAX
  • 原文地址:https://www.cnblogs.com/gaigaige/p/7883713.html
Copyright © 2011-2022 走看看