PYQT5實現控制檯顯示功能的方法

1、定義發送信號槽

class EmittingStr(QtCore.QObject):
    textWritten = QtCore.pyqtSignal(str) #定義一個發送str的信號
    def write(self, text):
      self.textWritten.emit(str(text))

2、給信號槽添加定時器

loop = QEventLoop()
    QTimer.singleShot(1000, loop.quit)
    loop.exec_()

EmittingStr的完整代碼如下:

class EmittingStr(QtCore.QObject):
    textWritten = QtCore.pyqtSignal(str) #定義一個發送str的信號
    def write(self, text):
      self.textWritten.emit(str(text))
      loop = QEventLoop()
      QTimer.singleShot(1000, loop.quit)
      loop.exec_()

3、在主py文件中重定向輸出

# 下面將輸出重定向到textBrowser中
    sys.stdout = EmittingStr(textWritten=self.outputWritten)
    sys.stderr = EmittingStr(textWritten=self.outputWritten)

完成以上三步,當我們在代碼中調用print時,會將print的指令要輸出的內容,定向到控制檯輸出。

完美。

參考文獻:https://www.jb51.net/article/163898.htm

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章