pyside自定义信号和槽实现输出文本到QTextEdit
时间: 2023-04-07 21:03:27 浏览: 91
Qt自定义信号槽代码实现
你可以使用以下代码实现:
```python
from PySide2.QtCore import Signal, QObject
from PySide2.QtWidgets import QApplication, QMainWindow, QTextEdit, QPushButton
class MySignal(QObject):
text_signal = Signal(str)
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
self.text_edit = QTextEdit(self)
self.text_edit.setGeometry(50, 50, 300, 200)
self.button = QPushButton("Click me", self)
self.button.setGeometry(50, 270, 100, 30)
self.button.clicked.connect(self.emit_signal)
self.my_signal = MySignal()
self.my_signal.text_signal.connect(self.append_text)
def emit_signal(self):
self.my_signal.text_signal.emit("Hello World!")
def append_text(self, text):
self.text_edit.append(text)
if __name__ == '__main__':
app = QApplication([])
window = MyWindow()
window.show()
app.exec_()
```
这个程序创建了一个窗口,包含一个 QTextEdit 和一个 QPushButton。当按钮被点击时,程序会发出一个自定义信号 text_signal,然后将文本追加到 QTextEdit 中。
阅读全文