Qt/embedded中的手动事件处理(不使用QApplication:exec())
Manual event-handling in Qt/embedded,(without using QApplication:exec() )
我正在编写一个Qt/embedded GUI应用程序。但是应该避免调用exec(),因为我不想把事件处理的责任留给QWS(Qt Windowing System)。相反,如果可以在必要时手动调用事件处理程序(例如processEvents),这对我来说是有利的?
听起来这就是你想要的,从这里开始:
我们可以对QApplication进行子类化,并重新实现notify()。
Qt调用QApplication::notify()来发送事件。重新实现该函数是在任何事件之前获取所有事件的唯一方法过滤器有机会查看它们。事件筛选器为通常更有用,因为可以有任意数量的并发事件过滤器,但只有一个notify()函数。
然后,我想你可以在事件进入时缓冲它们,并将QApplication
子类化以创建一个类似processEvents
的自定义函数,以便在你想要的时候将它们发送出去。但正如其他人所指出的,你还不清楚为什么要覆盖QWS。
相关文章:
- OpenSSL C API:如何在程序exec()之后恢复TLS连接?
- Qt/SQL - 从 QSqlQuery exec Stored Procedure 获取列类型和名称?
- 从插槽调用 QApplication::p rocessEvents 会导致再次调用同一插槽
- Python 的 exec() 函数的 C++ 版本
- 为什么使用 exec() 重新启动程序不能正常工作?
- 如何将参数包装在 C 或 C++ 中并将它们传递给系统或 exec*
- 如何在QApplication中应用QLibraryInfo中加载的库和插件配置
- 如何为应用程序中的某些按钮重置QApplication::styleSheet?
- 使用MSVC编译的Qt程序在app.exec()上崩溃
- -bash:/a.out:无法执行二进制文件:Exec格式错误
- QApplication::p rocessEvents 在不同的线程上
- 无法使用管道将数据发送到我通过exec(C++)启动的第二个应用程序
- 在运行时将更改的环境变量应用于 QApplication
- QT(4.8.2)GUI-自己的主循环,而不是qapplication :: exec()
- 有没有一种方法可以在没有QApplication::exec()的情况下使用Qt
- 在QDialog::exec()之后调用QApplication::exec.()
- 是否可以在不调用 QApplication::exec() 的情况下创建本地事件循环
- 如果使用 QApplication,qApp->exec() 是否有效
- Windows消息循环代替QApplication::exec() / QApplication::processEve
- Qt/embedded中的手动事件处理(不使用QApplication:exec())