我应该先学习哪些:Boost或Qt

W.K*_*K.S 8 c++ user-interface qt boost freepascal

我主要是一个业余爱好者程序员.我学习了C++的基础知识,然后转到我喜欢的Java,因为它很简单.现在我回到C++,我真的想用Qt API学习GUI,但我听说过很多关于Boost Libraries的讨论.

我的问题应该首先学习Qt还是先花一些时间在Boost上更好.

就个人而言,我是Qt因为我已经厌倦了看着无聊的黑色控制台屏幕.

2)Pascal/Free Pascal是一种值得学习的语言.如果是这样,那么学习它的最佳位置是什么.我知道它已经死了 - 但我被这种语言神秘地吸引了.

Dam*_*RAS 16

在学习了不同的语言和库之后,我发现QT拥有最好的文档并且非常用户友好.无论学习曲线如何(使用Qt都要容易得多),Qt专门用于图形界面,并带有很好的容器或有用的模式,如信号插槽,它们有很多帮助.但有人说,名为"moc"的预编译阶段可能存在问题.您必须使用特定的编译器或工具链.

提升是更老的学校和"标准".我认为你必须在你的技能工具箱中拥有它.如果你有C++和STL,下一步是熟悉boost,因为boost几乎是C++的官方标准库.它由C++的老大师推动.在其他方面,提升更难以学习,但更容易集成到您的项目中.就像有些人说的那样......许多项目依赖于BOOST.

你必须要知道,即使在同一个项目中同时使用boost和Qt,你最好做出选择,因为在Qt的提升中很多东西都是多余的.

Personnaly,我选择Qt是因为信号/插槽机制,以及它提供的高级包(声音openGl webkit svg,设计师等)


Fez*_*vez 12

对于业余爱好?

然后没有问题:跟Qt一起去吧.他们有很好的文档,可以直接获得非常好的完整代码示例.在Qt潜水会更有趣!

另一方面,提升就像......"超级C++".它为您提供了强大的工具,但在您进行一些认真的编程之前,您肯定不需要这些工具.另外,它们有时使用起来非常复杂(boost :: graph,我正在看着你):因为它们可以适应各种各样的应用程序,你需要调整大量的混淆参数.


qua*_*dev 7

肯定会提升.它是许多其他图书馆的基石.


Vin*_*ura 6

跟Qt,IMO一起去.Qt包含了许多可以一起工作的便携式课程(我知道,也可以提升),所以也许你不需要太多的提升.

选择Qt的一个主要优点是它们的对象可以充分利用框架内置的信号/插槽机制,并且功能非常强大.

  • 另一方面,Boost有一个用纯C++实现的信号/插槽机制,不需要Qt版本使用的自定义预处理器和令人不快的宏滥用. (5认同)
  • 这是事实,但是boost没有GUI.所以为了简单起见,我首先考虑Qt.Qt有很多文档和示例,很容易制作出美观且功能强大的界面 (4认同)