当前位置:  开发笔记 > 编程语言 > 正文

你使用Qt,为什么要使用它?

如何解决《你使用Qt,为什么要使用它?》经验,为你挑选了4个好方法。

优点.和利弊?你用了多久?jambi怎么样?



1> David Dibben..:

我几年来一直在使用Qt进行商业开发,并对此非常满意.

Qt的一个好处是它提供了大量的库以及GUI的东西(例如XML解析,线程,网络),所有这些都是一致的风格和所有多平台.这意味着我们很少需要使用其他库,尽管我们确实在某些方面使用了boost.

对我们来说另一个非常重要的因素是国际化.在以前的基于MFC的应用程序中,我们必须为我们支持的两种语言维护2个本地化版本.在我们基于Qt的应用程序中,我们只有一个版本.

使用语言学家的Qt翻译系统易于使用,并且可以轻松支持多种语言(当然,您仍需要翻译字符串,这是很多工作!)

窗口小部件根据布局调整自身大小的GUI布局系统使一切变得更加容易.在不同的语言中,字符串的长度是不同的.对于固定大小的小部件(如MFC),需要针对每种语言调整每个对话框,否则部分标签会被切断.有了Qt,他们自己调整大小.当然,有些情况下它不能正常工作,但它仍然使一切变得更加容易.

QString以Unicode实现所有功能,并且可以非常轻松地处理来自不同编解码器的转换.

有一点非常有价值的是访问源代码,尽管这肯定不是Qt独有的.有几次,检查Qt源的能力已经解释了一些奇怪的行为,或者给出了如何实现某些目标的线索.

我们在Qt中发现了一些错误,其中一些在向Trolltech报告后已得到修复.在其他情况下,他们建议解决.这些都相当模糊,并没有对我们的发展产生重大影响.

Qt的主要缺点之一是缺乏用于商业应用的第三方库.但是,Qt相当完整,所以对我们来说这不是一个大问题,尽管这取决于你正在开发的应用程序类型.

我也没有使用过Jambi.



2> itsmatt..:

在七年的时间里,我在几个平台上用c ++做过的几个项目中使用了Qt.我觉得它运行得很好,对我来说,在Mac上开发一个不错的GUI应用程序比在当时使用我不知道的语言(Objective-C)更快.

我认为信号/插槽机制有点时髦但并不可怕.一旦你使用它一点,它不是一个显示塞子.连接的东西很容易搞砸(或者至少它是这样)并且检查这些内容的返回总是好的,因为你的应用程序将快乐地继续前进,而不是告诉你它不起作用.

我从未使用过jambi.



3> Chris Roland..:

以下是我与Qt的一些优点和缺点:

优点:
跨平台
我知道这个总是被使用,但是在使用Qt在Windows和Linux之间来回切换之后,开始和运行我几乎没有什么可做的.我认为这是因为我只使用Vim和Qt Designer.

QMake
这是我最喜欢的Qt方面之一.在wxWidgets,FLTK等工作之后,我厌倦了搞乱不同的构建系统,我不想手动创建我的makefile.我现在正在使用除了Qt之外的其他任何东西,但我认为我正在慢慢地将Qt移动到CMake.然而,使用QMake很容易.

QTestLib
我看了几个其他的C++单元测试框架,当我使用QTestLib创建我的测试时,它感觉非常类似于NUnit(C#),几分钟之内我就有几次通过测试.我还注意到,创建自己的持续集成环境非常容易.

最接近Java和.Net的生产力
我听到/读到人们对C++的最大看法是,"我可以用Java或.Net提高工作效率".根据个人经验,我可以在Eclipse或Visual Studio加载之前使用Vim和Qt Designer获取在Qt中运行的应用程序的原型.我在Qt中得到了一组非常相似的库,我在.Net或Java中,如果它不存在,我可以利用现有的C++代码.


缺点:
价格
这是我现在能想到的最大因素.然而,如果我知道在没有打电话给销售代表的情况下我需要节省多少美分,那么成本是值得的每一分钱.我在他们有小企业折扣的那天购买了许可证,然后它是值得的,我会支付三倍,我认为这是当前的价格.

在任何地方开发商业许可证
我希望能够在任何平台上开发,但为另一个平台构建和销售.例如,在Linux上开发,然后在Windows上构建和部署,如果您只拥有Windows商业许可证.据我所知,您只能在拥有许可证的平台上开发和构建商业应用程序.

供应商锁定
好吧,这更像个人骗局.我不喜欢被绑定到特定的供应商,因为我得到了公司方向和产品方向的追踪.TrollTech是诺基亚购买的,这个好坏我不知道,但是一家规模可以做坏事的公司.


我想我现在已经完成了:).哦,我没有使用过Jambi,但我真的很想做几个原型项目,以了解使用用Jambi开发的C++插件是多么容易.特别是使用Jambi作为C++插件的Web界面.

说实话,我没有读太多,所以它可能是不可能的或非常容易的.


费用是多少?它现在是LGPL,GPL从第一天就开始存在!
最初在Windows上是> 2500GBP /开发人员,然后在Linux上是GPL(如果您正在做商业应用程序,则无济于事),然后在一年前成为LGPL。

4> Rodyland..:

我在上一份工作中使用过Qt。在此之前的几年中,我与Qt的接触绝对是最简短的,所以我几乎是Qt的新手。

刚开始时,我被告知要选择我的语言和环境,但是最好是跨平台的支持。我尝试了Qt和Java,甚至为C#尝试了一下。我给自己两天时间来评估每个选项。

也许我对C ++开发人员的历史略有偏见,但是在花了很多时间选择每个选项之后,Qt才是唯一在没有长时间学习的情况下就有用的任何暗示。

Qt提供的文档和示例应用程序使经验丰富的开发人员非常容易,但是Qt初学者可以非常快速地启动并运行。在试用期结束之前,我已经完成了最终应用程序的UI原型/样机。使用Java / Eclipse,Java / SunStudio和C#/ VS.net,我很难在那段时间内发生任何不平凡的事情。

信号/插槽已经习惯了一些,但还算不错,我写了一些简单的包装程序来断言当连接未能阻止傻瓜输入法停止应用程序时。从工作。

我喜欢的另一件事是Qt几乎满足了我的所有需求。您将其命名为-存储,网络,GUI,线程,容器-Qt有一个可处理它的类。哪个IMHO很重要,因为混合库有时会引起问题。

拥有Qt的源代码是一个很大的优势,这只是出于简单的考虑,还使我能够使用自己选择的编译器和设置来编译Qt,包括用于开发期间的调试版本。

我还发现Trolltech的支持相当不错。我在Qt上提出了几个错误,其中一个是在我仍在从事该项目时(仅6个月的工作)便已修复并发布。

我唯一记得的缺点是调试Qt对象的困难(使用VS)-有一个VS的Qt插件可以检查Qt对象,但是我使用的是VS的免费版本,插件对此不起作用。但这不是Qt的错。

我没有用过詹姆,所以不能发表评论。

推荐阅读
农大军乐团_697
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有