一、布局:

在QtDesigner中或者直接在py文件中写入一个相当于显示程序运行输出结果的文本框控件,例如textEdit,textBrowser,再添加一个按钮来测试启动。

二、写一个信号类,迎来发射标准输出作为信号:

class EmittingStr(QtCore.QObject):  
        textWritten = QtCore.pyqtSignal(str)  #定义一个发送str的信号
        def write(self, text):
            self.textWritten.emit(str(text))

三、实现代码:

将输出重定向到textBrowser中:

sys.stdout = EmittingStream(textWritten=self.outputWritten)
sys.stderr = EmittingStream(textWritten=self.outputWritten)

四、接受信号str的信号槽:

    def outputWritten(self, text):
        cursor = self.textBrowser.textCursor()
        cursor.movePosition(QtGui.QTextCursor.End)
        cursor.insertText(text)
        self.textBrowser.setTextCursor(cursor)
        self.textBrowser.ensureCursorVisible()

五、运行结果:

Pyqt5入门学习笔记(三)——实现控制台显示程序运行功能

相关文章:

  • 2021-07-07
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-02
  • 2022-12-23
  • 2021-07-08
  • 2022-12-23
猜你喜欢
  • 2021-10-14
  • 2021-06-01
  • 2022-12-23
  • 2021-12-03
  • 2021-12-04
  • 2021-12-13
  • 2021-11-30
相关资源
相似解决方案