我对 Qt 事件的一般用法有一些疑问。我是 Qt 的新手,我将尝试制作一个自定义事件。我问的问题与这篇文章有关:Qt 4.8: The Event System
什么时候“发生”事件?
在 Qt 的内置事件中,鼠标点击和按键被放入队列中,然后在下一帧执行函数。对于自定义事件,我特别想知道这一点,因为我不确定它是否总是在单击鼠标时发生。对于自定义事件,是不是将事件发送到队列中,然后等待下一帧的 event() 函数处理?要创建自定义事件,是否必须创建一个继承自 QEvent 的类并使用 registerEventType() 函数注册事件?
这是标准流程,还是一个事件可以简单地成为一个类?这个函数 registerEventType() 是如何工作的?自定义事件有 QEvent::Type 吗?
这是使用 registerEventType() 函数时给出的 1000 到 6563 之间的数字吗?事件的接收者是什么?
它似乎在函数的参数中,如 postEvent()、sendEvent() 等。但是,我不确定这个对象的用途。触发事件时执行的实际代码在哪里?
它是一个函数,还是在QObjects的event()函数中。
此外,任何 Qt 事件(内置或自定义)的工作示例都会有所帮助。