Qt是否适用于STL和Boost?

Ara*_*raK 26 c++ qt boost stl

我有兴趣学习Qt.我对C++,STL和Boost相当不错.我非常喜欢STL/Boost风格,每当我能在uni项目中使用C++时我都会使用它们.但是,我总是想念GUI.在我的案例中,Qt似乎是最好的解决方案.Qt确实有很好的容器集合,但我非常熟悉STL/Boost的东西.

在学习Qt并与STL/Boost并排使用时,我应该注意什么?

Jud*_*den 32

是的,Qt对Boost和STL都很好.Qt中的大多数STL功能都是重复的,以确保支持Qt的所有平台都支持这些功能.但是,没有什么能阻止你使用Qt构造的STL/boost对应物或Qt缺乏的功能.

虽然Qt有自己的字符串,容器和算法对象,但它还包含大量与STL兼容的功能.例如,可以将QString转换为std :: string,并将QVector与std :: for_each一起使用.Qt还包含一些与boost重叠的功能,例如QPointer(与std:auto_ptr和boost:shared_ptr进行比较/对比).

" 创建自定义Qt类型"一文可以提供一些使用高级功能和增强对象的信息,例如在具有排队连接的线程之间传输自定义对象.

也可以看看:


Nic*_*tin 11

Qt与STL一起运行得相当好,虽然像任何框架一样,他们必须更换一些STL结构(唯一一个你会发现自己被迫使用的是字符串/ unicode).来自Boost的所有东西都很棒 - 实际上它是一对使用的工具包,但你需要小心使用boost :: signals,因为Qt也有一个信号实现并且名称可以重叠.Boost在常见问题解答中介绍了这一点,并且有一些关于trolltech网站的信息以及如何避免这个问题.

  • Qt文档还解决了信号/插槽问题:http://doc.trolltech.com/4.5/signalsandslots.html#using-qt-with-3rd-party-signals-and-slots (2认同)