我希望得到那些使用过两者并且能够比较框架、环境等方面的人的回复。
感谢您提前的回复。
如果你在讨论UI框架,那么应该将Qt与VCL进行比较,而不是IDE(在这种情况下是Delphi)。我知道我很严格,但Delphi是IDE,Object-Pascal是语言,VCL是图形框架。
话虽如此,我认为没有任何东西能够与VCL的强大和简洁相媲美。Qt很棒,但它不是VCL。
编辑:此答案是在 2008 年撰写的。现在可能不太适用,但也不是完全没有用处。仅供参考。
我曾使用过这两种工具,最终选择了Qt。原因如下:
C++ 有一些缺点,例如编译时间、打包和不够集成化的IDE。然而,Qt确实让C++感觉更像高级语言。例如,QString消除了所有字符串处理的痛苦。因此,在我的经验中,使用Qt时通常不会遇到C++中更多的错误代码等附加问题。
此外,Delphi的库比Qt的库更多,但由于您可以在Qt项目中使用C或C++库,并且因为Qt功能非常齐全,所以通常您不必寻找其他软件。
对于新项目,我会选择Qt而不是Delphi,这种情况十分罕见。
Delphi和Qt之间的一个重要区别是Qt信号/槽系统,它使得在对象之间创建N对N关系并避免紧密耦合变得非常容易。
我认为在Delphi中没有这样的功能(至少在我使用Delphi的时候没有)。
我刚开始尝试使用Qt/C++/Qt Creator,必须承认我很惊讶这个“可爱的小混蛋”在我面前已经存在了这么多年,而我直到现在才注意到它。
它(框架)看起来整洁、功能齐全(甚至有一些.NET缺少的功能,如内置XQuery支持)。
似乎大多数使用Qt编写的应用程序都涉及2D/3D/游戏。
我相信缺点只有:需要了解C++和缺乏DevExpress好东西,比如QuantumGrid。
我正在认真考虑将我的一个简单应用程序(像ThumbsView的图片查看器)移植过来。
并且它确实从同一代码库运行。真的!
忘记Kylix、Mono、Lazarus、Free Pascal吧。这个Qt东西比它们都强10倍。
Qt Creator离IDE还有很远的路要走。但我希望未来他们会添加更强大的调试器、代码洞察力和重构(至少是“重命名”)以及更有意义的编译器错误。
我真诚地建议那些没有Pascal/C++经验的人去学习Qt。
我会选择Delphi,但这可能是因为我之前已经编程过。似乎还有很多公司在使用它,而且几乎每个有8年以上经验的人都在某个地方遇到过它。大多数程序员似乎都能理解使用它或者至少学习Pascal的感觉。更不用说新的语言(如C#)部分基于它。
我会选择Delphi。只是因为我有更多的经验。我认为没有其他合理的标准。
Qt是跨平台的,Delphi如果我们计算Kylix的话就不太行了。Lazarus是跨平台的,但功能还不完整。