Qt/embedded中的手动事件处理(不使用QApplication:exec())

Manual event-handling in Qt/embedded,(without using QApplication:exec() )

本文关键字:exec QApplication 事件处理 embedded Qt      更新时间:2023-10-16

我正在编写一个Qt/embedded GUI应用程序。但是应该避免调用exec(),因为我不想把事件处理的责任留给QWS(Qt Windowing System)。相反,如果可以在必要时手动调用事件处理程序(例如processEvents),这对我来说是有利的?

听起来这就是你想要的,从这里开始:

我们可以对QApplication进行子类化,并重新实现notify()。

Qt调用QApplication::notify()来发送事件。重新实现该函数是在任何事件之前获取所有事件的唯一方法过滤器有机会查看它们。事件筛选器为通常更有用,因为可以有任意数量的并发事件过滤器,但只有一个notify()函数。

然后,我想你可以在事件进入时缓冲它们,并将QApplication子类化以创建一个类似processEvents的自定义函数,以便在你想要的时候将它们发送出去。但正如其他人所指出的,你还不清楚为什么要覆盖QWS。