pyqt 将print输出在textbrowser
时间: 2023-12-27 19:02:40 浏览: 107
您可以使用以下代码将 `print` 输出到 `QTextBrowser` 中:
```python
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QTextBrowser
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 创建 QTextBrowser
self.text_browser = QTextBrowser(self)
self.setCentralWidget(self.text_browser)
# 重定向 sys.stdout 和 sys.stderr 到 QTextBrowser
sys.stdout = self
sys.stderr = self
def write(self, message):
# 将消息写入 QTextBrowser
self.text_browser.insertPlainText(str(message))
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
```
在此示例中,我们创建了一个 `QMainWindow` 并将 `QTextBrowser` 设置为其中央部件。然后,我们重定向 `sys.stdout` 和 `sys.stderr` 到 `MainWindow` 实例本身。最后,我们定义了 `write` 方法,该方法将消息插入 `QTextBrowser` 中。
注意,`write` 方法必须接受一个字符串参数。如果您要输出其他类型的对象,请使用 `str` 函数将其转换为字符串。
阅读全文