QEvent自定义事件例子
时间: 2023-08-12 20:27:50 浏览: 146
以下是一个简单的自定义事件的例子:
```python
import sys
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
# 自定义事件类型
class MyEventType(QEvent.Type):
pass
# 自定义事件类
class MyEvent(QEvent):
def __init__(self):
super().__init__(MyEventType)
# 自定义对象
class MyObject(QObject):
def event(self, e):
if e.type() == MyEventType:
print("Received MyEvent")
return True
return super().event(e)
if __name__ == '__main__':
app = QApplication(sys.argv)
obj = MyObject()
event = MyEvent()
QApplication.postEvent(obj, event) # 分发自定义事件
sys.exit(app.exec_())
```
这个例子创建了一个自定义事件类型和一个自定义事件类。然后创建了一个自定义对象和一个自定义事件,并使用QApplication的postEvent()方法将自定义事件分发到自定义对象中。当自定义对象接收到自定义事件时,会输出一条消息。
阅读全文