把 "Run" 窗口的内容更新发送到ui脚本中的QTextEdit上有没有更简单直接的方法
时间: 2024-02-25 12:54:46 浏览: 67
有一个更简单直接的方法是使用信号与槽机制。在 "Run" 窗口中定义一个信号,当窗口内容更新时发出该信号,然后在 UI 脚本中连接这个信号到 `QTextEdit` 的 `append()` 方法上,这样就可以实时更新 `QTextEdit` 的内容了。
以下是一个简单的示例代码:
在 "Run" 窗口中定义信号:
```python
from PySide2.QtCore import Signal, QObject
class RunWindow(QObject):
content_updated = Signal(str)
def update_content(self, content):
# 更新窗口内容
# ...
self.content_updated.emit(content)
```
在 UI 脚本中连接信号到 `QTextEdit` 的 `append()` 方法:
```python
from PySide2.QtWidgets import QMainWindow, QTextEdit
from run_window import RunWindow
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setup_ui()
self.run_window = RunWindow()
self.run_window.content_updated.connect(self.text_edit.append)
def setup_ui(self):
self.text_edit = QTextEdit(self)
# ...
```
这样,每次 "Run" 窗口的内容更新时,都会自动将更新的内容追加到 `QTextEdit` 中。
阅读全文