pyqt 将print输出在textbrowser
时间: 2023-12-27 17:02:40 浏览: 35
你可以使用以下代码将print输出到PyQt的TextBrowser中:
```python
from PyQt5.QtWidgets import QApplication, QMainWindow, QTextBrowser
import sys
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 创建一个TextBrowser对象
self.text_browser = QTextBrowser(self)
self.setCentralWidget(self.text_browser)
# 重定向标准输出流
sys.stdout = EmittingStream(textWritten=self.write_text)
# 将输出写入TextBrowser中
def write_text(self, text):
self.text_browser.append(text)
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()
print('Hello PyQt5')
sys.exit(app.exec_())
```
这个例子中,我们创建了一个MainWindow类,其中包含一个QTextBrowser对象,将其设置为窗口的中心部件。接着,我们重定向了标准输出流,并将其写入到TextBrowser中。最后,我们运行了应用程序并打印了一条消息。