混合Qt和Boost 我正在使用QT 4框架(C++需要跨平台GUI)来启动一个项目。我从朋友和网上听到了关于Boost库的好消息。我已经开始阅读这两个方面的内容,并想在深入之前提出一个粗略的问题:这两个开发“系统”是相互排斥的吗

混合Qt和Boost 我正在使用QT 4框架(C++需要跨平台GUI)来启动一个项目。我从朋友和网上听到了关于Boost库的好消息。我已经开始阅读这两个方面的内容,并想在深入之前提出一个粗略的问题:这两个开发“系统”是相互排斥的吗,c++,qt,boost,C++,Qt,Boost,我最初的搜索和阅读显示了信号处理、定制构建系统和其他低级原语的一些重叠 在同一个项目中同时使用它们有意义吗?是的,非常有意义。我通常更喜欢在可能的情况下使用boost/stdlib函数,而不是它们的Qt替代品 它使代码更容易移植到下一个框架。 这使得新的非Qt程序员更容易达到速度。 Boost有一些很好的功能,而且一直在增加 注意:widget中的字符串可能是主要的例外-在GUI中,我会使用Qt字符串来保存所有混乱的强制转换。我们(Last.fm)同时使用它们,尽管我们才刚刚开始这样做,所以还没

我最初的搜索和阅读显示了信号处理、定制构建系统和其他低级原语的一些重叠


在同一个项目中同时使用它们有意义吗?

是的,非常有意义。我通常更喜欢在可能的情况下使用boost/stdlib函数,而不是它们的Qt替代品

它使代码更容易移植到下一个框架。
这使得新的非Qt程序员更容易达到速度。
Boost有一些很好的功能,而且一直在增加


注意:widget中的字符串可能是主要的例外-在GUI中,我会使用Qt字符串来保存所有混乱的强制转换。

我们(Last.fm)同时使用它们,尽管我们才刚刚开始这样做,所以还没有很多经验。不过到目前为止一切都很好:)

特别是当您要跨平台时,您应该有一个良好的分层体系结构,尽可能从GUI中删除业务逻辑和数据访问。在这种情况下,在编写应用程序的后端时使用Boost是有意义的,对于前端,只需跳转到Qt,并在glue中完成强制转换


如果您的“引擎”与您的GUI选择是分开的,那么您将能够在将来以最小的努力将Qt换成其他东西(可能是本机库)。

在Qt旁边使用Boost.Signals可能会出现问题。这些记录在。

比较QT和非常体面的机制中。对于那些对这种组合有点好奇的人来说,这是一本必读的书。

考虑到它是可用的,而且它们是线程安全的。

好文章。谢谢你的链接。Qt也有很好的功能,而且一直在增加。与Boost相比,Qt有更好的文档(基于我使用两者的经验)。有人可能会说,使用Boost会让非Boost程序员更难。Boost也是如此,但我仍然会在Qt的集合类上使用std::vector等。这更多的是一种观点,而不是答案。