on signal的写法
时间: 2023-12-14 13:02:14 浏览: 71
signal
以下是Python中使用信号(Signal)槽(Slots)连接(Connect)的一个例子:
```python
from PyQt5.QtCore import QObject, pyqtSignal
class MyObject(QObject):
# 定义一个信号
my_signal = pyqtSignal(str)
def __init__(self):
super().__init__()
def run(self):
# 发射信号
self.my_signal.emit("Hello World!")
class MyReceiver(QObject):
def __init__(self):
super().__init__()
def my_slot(self, msg):
# 处理信号
print(msg)
# 创建对象
obj = MyObject()
receiver = MyReceiver()
# 连接信号和槽
obj.my_signal.connect(receiver.my_slot)
# 发射信号
obj.run()
```
在这个例子中,我们定义了一个`MyObject`类,其中包含一个名为`my_signal`的信号。我们还定义了一个`MyReceiver`类,其中包含一个名为`my_slot`的槽,用于处理`my_signal`信号。我们创建了一个`MyObject`对象和一个`MyReceiver`对象,并使用`connect`方法将`my_signal`信号连接到`my_slot`槽上。最后,我们发射了`my_signal`信号,它会触发`my_slot`槽的执行,输出"Hello World!"。
阅读全文