如何在pyside2中textbrower输出print信息
时间: 2024-05-12 16:15:52 浏览: 166
【Pyside资源】 Pyside2 中嵌入 Matplotlib 实现画图功能
您可以通过将标准输出重定向到 QTextEdit 控件中来实现在 PySide2 中 TextBrowser 输出 print 信息。具体方法实现如下:
```python
import sys
from PySide2.QtWidgets import QApplication, QMainWindow, QTextBrowser
from PySide2.QtCore import Qt
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.text_browser = QTextBrowser()
self.setCentralWidget(self.text_browser)
sys.stdout.write = self.write
def write(self, text):
self.text_browser.moveCursor(Qt.TextCursorEnd)
self.text_browser.insertPlainText(text)
if __name__ == '__main__':
app = QApplication(sys.argv)
main_window = MainWindow()
main_window.show()
sys.stdout.flush()
sys.exit(app.exec_())
```
通过重写 sys.stdout.write 方法,将 print 的信息写入 QTextEdit 控件中。然后在主窗口类的构造方法中,将 QTextBrowser 设置为中心窗口。必须在构造方法中创建 QTextBrowser 实例,否则控件无法显示。
阅读全文