简体   繁体   English

真实生活用于Qt(诺基亚之外)

[英]Real life use for Qt (outside of Nokia)

Is Qt an interesting platform for business apps development, outside of Nokia phones ? 在诺基亚手机之外,Qt是一个有趣的商业应用开发平台吗?
Why ? 为什么? Strong points ? 优点?
Thanks 谢谢

I like Qt because: 我喜欢Qt,因为:

  • Very well-designed framework, eg signal-slot, model-view, graphics view/scene/item/proxy, painter/paint device/paint engine..., too many to be listed here! 非常精心设计的框架,例如信号槽,模型视图,图形视图/场景/项目/代理,画家/绘画设备/绘图引擎......,这里列出的太多了!
  • Excellent documentation! 优秀的文档!
  • Cross platform language/API, as well as tools like UI designer, creator, and so on. 跨平台语言/ API,以及UI设计器,创建者等工具。
  • Rich features, eg graphics framework, network library, database engine, and so on. 丰富的功能,例如图形框架,网络库,数据库引擎等。
  • Active community, and active development. 积极的社区,积极的发展。

There should be more. 应该有更多。 If you have ever used it, you'll find it's easy to build your framework upon Qt. 如果您曾经使用它,您会发现在Qt上构建框架很容易。

I didn't have any complain to Qt. 我对Qt没有任何抱怨。 If I have to say at least one disadvantage here, "convention". 如果我在这里必须说至少一个缺点,那就是“惯例”。 You must adopt the convention of Qt, eg You have to use moc to make the meta object of your objects, and it's easier for developers to use Qt's vector, list, auto_ptr than STL, tr1. 您必须采用Qt的约定,例如,您必须使用moc来创建对象的元对象,并且开发人员使用Qt的vector,list,auto_ptr比STL,tr1更容易。 But I never found any issue caused by that. 但我从来没有发现任何问题。 On the contrary, it works very well. 相反,它运作良好。

In my opinion, Qt is the state-of-the-art C++ framework in this modern world! 在我看来,Qt是现代世界中最先进的C ++框架!

PS There are a lot of commercial applications built on Qt. PS Qt上有很多商业应用程序。 You can find it under Qt's official website. 你可以在Qt的官方网站上找到它。 But I'd like add one more here: Perforce, one of the top commercial source code management tools, built its client tool on Qt for Windows/Linux/Mac. 但是我想再添加一个:Perforce,一个顶级商业源代码管理工具,在Qt for Windows / Linux / Mac上构建其客户端工具。

yes it is .. just look at kde apps :) 是的它..只是看看kde应用:)

further reading 进一步阅读

may be this is not so related to the question ... but my first deal with qt was just great starting from their well organized Documentation to their great widgets 可能这与问题没那么相关......但我与qt的第一笔交易就是从他们组织良好的文档到他们伟大的小部件开始

the GraphicsView is just ammazing ! GraphicsView只是令人惊叹! :) :)

It's about the only current/modern C++ gui library on Windows. 它是关于Windows上唯一的当前/现代C ++ gui库。

MFC is so old you have to write comments in Latin MFC太老了,你必须用拉丁语写评论
WTL would be nice if they had finished it before abandoning it. WTL会很好,如果他们在放弃它之前完成它。
Winforms/WPF + managed C++/CLR - all the fun of several incompatible new technologies at once. Winforms / WPF +托管C ++ / CLR - 同时出现几种不兼容的新技术的所有乐趣。

Bad points: 坏点:
To fit on lots of platforms they have invented their own solutions to things that are now in the STL/Boost 为了适应许多平台,他们发明了自己的解决方案,用于现在的STL / Boost
The signal/slot mechanism - tricky to debug and silently fails (with no error) with simple typos. 信号/插槽机制 - 棘手的调试和静默失败(没有错误)与简单的错别字。
Although everything is possible it's sometimes a lot of effort to do simple things (they do love MVC) compared to Winforms. 虽然一切皆有可能,但与Winforms相比,做简单的事情(他们确实喜欢MVC)有时需要付出很多努力。

  • Qt is simple Qt很简单
  • Qt is powerful Qt很强大
  • Qt is NATIVELY-CROSS-PLATFORM Qt是NATIVELY-CROSS-PLATFORM
  • Qt is REALLY-CROSS-PLATFORM Qt是真正的跨平台
  • Qt is comprehensive (but the Media side of it still needs to grow) Qt很全面(但媒体方面还需要增长)
  • Qt doesn't require Garbage Collection, but it embeds a GREAT model of memory management that makes you forget about memory deallocation Qt不需要垃圾收集,但它嵌入了一个很好的内存管理模型,让你忘记了内存释放
  • Qt is solid Qt很稳固
  • Qt is modern Qt很现代
  • Qt proposes some new paradigm of programming that are really good (Signals-Slots) Qt提出了一些非常好的新编程范式(信号槽)
  • Qt runs a lot of VERY successful software: (Skype, Google Earth...) Qt运行了很多非常成功的软件:(Skype,Google Earth ......)

Are those points strong enough? 那些点是否足够强大?

Maybe you have heard about Google Earth which happens to be programmed in Qt too. 也许你已经听说过Google地球也恰好在Qt中编程了。

That aside, I like Qt for my in-house development because it 除此之外,我喜欢Qt用于我的内部开发,因为它

  • is very well supported and documented, 得到很好的支持和记录,
  • allows me to write simple and decent-looking apps that are 允许我编写简单而体面的应用程序
  • works cross-platform for Windows and Linux with little effort, and 适用于Windows和Linux的跨平台工作,并且不费吹灰之力
  • contains nice to have components for database access, regexps, guis, xml, ... 包含很好的数据库访问组件,regexps,guis,xml,...

I also use the Qwt widgets for easy real-time plotting on top of Qt . 我还使用Qwt小部件在Qt之上进行简单的实时绘图。

I really dont understand whats the point in underestimating tools/frameworks which makes things easy for programmers. 我真的不明白低估工具/框架的重点是什么让程序员容易接受。 Qt is too good for GUI development, I would say its much better than any current existing crossplatform app development suite. Qt对于GUI开发来说太好了,我会说它比现有的任何跨平台应用程序开发套件要好得多。

So many advantages, I have been using it for more than three years now for a product to be deployed in Linux/Win environments. 如此众多的优势,我已经使用它超过三年了,以便在Linux / Win环境中部署产品。 The app is thread intensive and initially we had a tough time using pthreads and its conterpart for windows. 该应用程序是线程密集型的,最初我们使用pthreads及其conterpart for windows时遇到了困难。 Then we switched to Qt(and QThreads eventually) and things were a breeze... Backed by active development, a highly helpful and supportive community along with excellent documentation, training, certification programs, videos, forums... its easy, fast and effective to develop in Qt. 然后我们切换到Qt(和QThreads最终),事情变得轻而易举......在积极的发展,一个非常有帮助和支持的社区以及优秀的文档,培训,认证计划,视频,论坛......的支持下,它简单,快速,在Qt中有效发展。 You should see the video which they create a web browser in just five mins! 您应该只需五分钟即可看到他们创建网络浏览器的视频! Its really 'cross platform', and it doesnt have a software wrapper(like Java does) to enable this which makes it faster. 它真的是“跨平台”,它没有软件包装器(就像Java那样)来启用它,这使得它更快。 Cmon, we all know java apps have buttons which takes a second to respond to even a simple 'click'. Cmon,我们都知道java应用程序有按钮,即使是简单的“点击”也需要一秒钟才能响应。

I hope Qt will someday do a take on Java. 我希望Qt总有一天会对Java有所了解。 :D :d

after all, 350000 developers cant be wrong when they chose Qt. 毕竟,35万开发商在选择Qt时不会出错。

皮克斯在内部使用Qt(或者至少使用 ,截至2005年)用于他们工具套件的某些部分(在市场营销中称为“Marionette”),统称为Menv ,(至少是建模环境中的“男人”)---至少为他们的照明子工具Lumos。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM