如何在不使用 Qt 内部头文件的情况下压缩 QEvents?

Posted

技术标签:

【中文标题】如何在不使用 Qt 内部头文件的情况下压缩 QEvents?【英文标题】:How to compress QEvents without using Qt internal headers? 【发布时间】:2014-01-08 00:28:31 【问题描述】:

由于迭代QCoreApplication::compressEvent 中发布的事件列表所需的标头被认为是私有的,有没有一种方法可以在不依赖 Qt 的内部标头而仅依赖于 Qt 的文档语义的情况下获得等效功能?

注意这是一个不同的问题,the other one concerning signals and slots!

【问题讨论】:

【参考方案1】:

由于在 QCoreApplication::compressEvent 中迭代发布的事件列表所需的标头被认为是私有的,有没有一种方法可以在不依赖 Qt 的内部标头而仅依赖于 Qt 的文档语义的情况下获得等效功能?

AFAIK,没有as per my other post。

唯一的 API 在您编写时是内部的,它可以随时更改,无需另行通知。因此,除非有人在 Qt 版本中编写代码,否则应该避免这种情况,因为它可能会突然对最终用户造成破坏。

我什至在 IRC 上与 1-2 位开发人员讨论过这个问题(我认为是 peppe 和 suy),但我认为我们当时离开了没有公共 API 的话题。如帖子中所述,这可能会在未来发生变化。

我个人的怀疑是,在没有与维护者讨论的情况下,它还不是一个足够普遍的用例,因此没有人费心去完成它。我个人可以不使用这个功能,因为到目前为止它还没有给我造成任何严重的缺陷,即使在基于 Qt 的大型多线程软件中也是如此。

也很有可能背后有技术原因,只是我的无知。

【讨论】:

以上是关于如何在不使用 Qt 内部头文件的情况下压缩 QEvents?的主要内容,如果未能解决你的问题,请参考以下文章

如何在不使用 map reduce 的情况下使用 lzo 压缩写入 hadoop hdfs

如何在不关闭预编译头文件的情况下修复 C1010 错误?

如何在不使用 php 压缩的情况下下载文件夹及其所有文件夹和文件

如何在不破坏内部绑定的情况下从外部初始化自定义项的属性?

如何在不扩展包含的头文件的情况下预编译 C 源文件?

如何在不重新压缩 JPEG 的情况下删除 EXIF 数据?