我正在寻找使用Qt 4框架在C++中启动项目(需要跨平台的GUI).我从朋友和网上听过Boost图书馆的好消息.我已经开始阅读这两篇文章,并且在我太深入之前想问一个粗略的问题:这两个开发"系统"是否相互排斥?
我最初的搜索和阅读显示了信号处理,自定义构建系统和其他低级原语的一些重叠.
在同一个项目中使用它们是否有意义?
是的,这很有道理.我通常更喜欢在可能的情况下使用boost/stdlib函数而不是Qt替代函数.
它使代码更容易移植到下一个框架.
它使新的非Qt程序员更容易加快速度.
Boost有一些很棒的功能,并且一直在增加.
注意:来自/来自小部件的字符串可能是主要的例外 - 在GUI中我将使用Qt字符串来节省混乱的演员阵容.
本文比较了QT和Boost :: Signal中的信号槽机制.对于那些对这种混合有点好奇的人来说,这是必读的.
特别是因为你要跨平台,你应该有一个很好的分层架构,业务逻辑和数据访问尽可能从GUI中删除.在这种情况下,在编写应用程序的后端时使用Boost是有意义的,并且只需要跳转到前端的Qt,并在胶水中完成强制转换.
如果您的"引擎"与您的GUI选择是分开的,那么您将能够以最小的努力将Qt替换为未来的其他东西(可能是本机库).
我们(Last.fm)将它们一起使用,虽然我们刚刚开始这样做,所以还没有很多经验.到目前为止一切都很好:)