如何在不使用 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