pyside自定义信号和槽实现输出文本到QTextEdit
时间: 2023-04-07 16:03:27 浏览: 96
pyside2靠屏幕边自动分屏、最大化的带阴影无边框窗口
5星 · 资源好评率100%
你可以使用以下代码实现:
```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 中。
阅读全文