pyqt5显示print结果
时间: 2023-06-29 14:18:17 浏览: 64
你可以使用Qt的QPlainTextEdit类来显示print函数的结果。以下是一个简单的示例:
```python
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QPlainTextEdit
from PyQt5.QtCore import pyqtSlot
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 创建一个QPlainTextEdit对象
self.text_edit = QPlainTextEdit(self)
self.setCentralWidget(self.text_edit)
# 重定向stdout输出到QPlainTextEdit控件上
sys.stdout = EmittingStream(textWritten=self.normalOutputWritten)
@pyqtSlot(str)
def normalOutputWritten(self, text):
"""将print输出到QPlainTextEdit控件"""
cursor = self.text_edit.textCursor()
cursor.movePosition(cursor.End)
cursor.insertText(text)
self.text_edit.setTextCursor(cursor)
self.text_edit.ensureCursorVisible()
class EmittingStream(object):
def __init__(self, textWritten):
self.textWritten = textWritten
def write(self, text):
self.textWritten.emit(str(text))
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
```
在这个示例中,我们创建了一个QPlainTextEdit控件,并将print函数的输出重定向到该控件。这样,我们就可以在GUI中显示print函数的结果。