1、Qt是什么linux
一、Qt 是一个1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架。它既能够开发GUI程序,也可用于开发非GUI程序,好比控制台工具和服务器。
二、Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些宏,易于扩展,容许组件编程。
三、2008年,奇趣科技被诺基亚公司收购,QT也所以成为诺基亚旗下的编程语言工具。2012年,Qt被Digia收购。
四、2014年4月,跨平台集成开发环境Qt Creator 3.1.0正式发布,实现了对于iOS的彻底支持,新增WinRT、Beautifier等插件,废弃了无Python接口的GDB调试支持,集成了基于Clang的C/C++代码模块,并对Android支持作出了调整,至此实现了全面支持iOS、Android、WP。程序员
2、Qt的由来和发展正则表达式
1991年,Haavard和Eirik开始一块儿合做设计、编写最终成为Qt的那些类。在随后的一年中,Eirik提出了“信号和槽”的设想——一个简单而且有效的强大的图像用户编程规范。而如今,他已经能够被多个工具包实现。Haavard实践了这一想法,而且据此建立了一个手写代码的实现系统。到1993年,Haavard和Eirik已经开发出了Qt的第一套图像内核程序,而且可以利用它实现他们本身的一些窗口部件。同年底,为了建立“世界上最好的C++图形用户界面框架”,Haavard提议一块儿进军商业领域。编程
1994年成为两位年轻程序员不幸的一年,他们没有客户,没有资金,只有一个未完成的产品,可是他们但愿可以闯进一个稳定的市场。幸运的是,他们的妻子都有工做而且愿意为她们的丈夫提供支持。在这两年里,Haavard和Eirik人为,他们须要继续开发产品而且从中赚的收益。之因此选择字母“Q”做为类的前缀,是由于该字母在Haavard和Eirik字体中看起来很是漂亮。随后添加的字母“t”表明工具包“Toolkit”,这是从“Xt”——一个X工具包的命名方式中得到的灵感。公司于1994年3月4日成立。最初的名字仍是“Quasar Thechnologies”,随后改名为“Troll Tech”,而公司今天的名字则是“Trolltech”。服务器
1995年4月,经过Haavard就读过的大学的一位教授的联系,挪威的Metis公司与他们签定了一份基于Qt进行软件开发的合同。大约在同一时间,公司雇用了Amt Gulbrandsen,在公司工做的六年时间里,他设计并实现了一套独具特点的文档系统,而且对Qt的代码也作了很多贡献。架构
1995年5月20日,Qt0.9被上传到sunsite.unc.edu。6天后,在comp.os.linux.announce上发布。这是Qt第一个公开发行的版本。Qt既能够在Windows上的程序开发,又能够用于UNIX上的程序开发,并且在这两种平台上,都提供了相同的应用程序编程接口。从第一天起,Qt就提供了两个版本的软件许可协议版本。一个是进行商业开发所须要的商业版本,一个是适用于开源开发的自由软件许可版本。Metis的合同确保了公司的发展,然而,在长达十个月的时间内,在没有任何人购买Qt的商业许可协议。并发
1996年3月,欧洲航天局(European Space Agency)购买了10分Qt的商用许可协议,他成了第二个Qt用户。凭着坚决的信念,EEirik和Haavard有雇佣了另一名开发人员。Qt 0.97在同年5月底正式发布,随后在1996年9月24日,Qt1.0正式面世。到了这一年的年末,Qt的版本已经发展到了1.1.共有来自8个国家的客户买了18分商用许可协议。也就是在这一年,在Matthias Ettrich的带领下,创立了KDE项目。Qt 1.2于1997年4月发布。Matthias Ettrich利用Qt创建KDE的决定,使Qt成为Linux环境下开发C++图像用户界面的事实标准。Qt1.3于1997年9月发布。Matthias Ettrich在1998年加入公司,而且在当年9月,发布了Qt 1系列的最后一个版本——V1.40.199年6月,Qt 2.0发布,该版本有有一个新的开源许可协议——Q公共许可协议(QPL,Q Public License),他与开源的定义一直。1999年8月,Qt赢得了LinuxWorld的最佳奖/工具奖。大约在这个时候,Trolltech Pty Ltd成立了。框架
2000年,公司发布了Qt/Embedded Linux,它用于Linux嵌入式设备。Qt/Embedded Linux提供了本身的窗口系统,而且能够做为X11的轻量级替代产品。如今,Qt/X11和Qt/Embedded Linux 除了提供商业许可协议以外,还提供了广为使用的GNU通用公共许可协议(GPL,General Public License)。2000年末,成立了Trolltech Inc,并发布了Qtopia的初版,他是一个用于移动电话和掌上电脑的环境平台。Qt/Embedded Linux在2001年和2002年两次得到了Linux World的“Best Embedded Linux Solution”奖,Qtopia Phone也是在2004年得到了一样的荣誉。编程语言
2001年,Qt 3.0发布。如今,Qt已经可用于Windows、MacOS、NUIX、和Linux(桌面和嵌入式)平台。Qt 3 提供了42个新类和超过500000行代码。Qt3是自Qt2以来前进历程中最为重要的一步,他在诸多方面上都进行了改良,包括本地化和统一字符编码标准的支持、全新的文本查看和编辑窗口部件,以及一个相似于Perl正则表达式的类等。2002年,Qt3赢得了Software Develpment Times 的“Jolt Productivity Award”。函数
2005年夏,Qt 4.0发布,他大约有500个类和9000多个函数,Qt4.0比以往的任何一个版本的都要全面和丰富,而且他已经裂变成多个函数库,从而是开发人员能够根据本身的须要只链接须要的Qt部分。相对于之前的Qt版本,Qt4 的进步是巨大的,他不只完全的对高效易用的模板容器、高级的模型/视图功能、快速而灵活的二维绘图框架和强大的统一字符编码标准的文本查看和编辑类进行了大量的改进,更没必要说对那些贯穿整个Qt类中的成千上万个小的改良。现现在Qt已经超越了做为图形用户界面工具包的界限,逐渐成长为一个成熟的应用程序开发框架。Qt4 也是第一个可以在其全部可支持的平台上既能够用于商业开发又能够用于开源开发的Qt版本。同在2005年,公司在北京开设了一家办事处,以便于中国及其销售区域内的用户提供服务和培训,而且为Qt/EmdeddedLinux 和 Qtopia提供技术支持。经过获取一些非官方的语言绑定件(language bindings),非C++程序员也可使用Qt,特别适用于Python程序员的PyQt语言绑定件。2007年,公司也发布了用于C#程序员的非官方语言绑定键Qyoto。同一年,QtJambi投放市场,他的一个官方支持的Java版本Qt应用程序编程接口。自奇趣科技公司诞生以来,Qt的声望经久不衰,并且至今依旧持续高涨。取得这样的城进不进说明了Qt的质量,并且也说明人们都很是喜欢应用它。在过去的十年中,Qt已经从一个只被少数专业人士所熟悉的“秘密”产品,发展到了现在遍布全世界拥有数以千计的客户以及数以万计的开源开发人员的产品
3、为何选择Qt
一、Qt是基于 C++ 的一种语言扩展(Extention)
C/C++ 目前仍是一种不少人都在学习的语言. Qt的好处就在于Qt自己能够被称做是一种 C++ 的延伸。Qt 的类都是用 C++ 写出来的。这也就是说, Qt 自己已经继承了C++的快速、简易、面向对象等许多的优势。
二、Qt 具备很是好的可移植性(Portable)
Qt不仅是能够在 Linux 中运行,也一样能够运行在 Microsoft Windows 、Mac OS X等多种不一样的平台中。这也意味者,利用 Qt编写出来的应用程序,在几乎不用修改的状况下,就能够同时在多种平台中运行。 Qt的应用很是之普遍,从 Linux到 Windows ,从 x86 到 Embedded 等都有大量Qt应用的成功范例。
三、Qt支持跨平台构建(Cross-Platform Builds)
编写用于多平台的软件是单调乏味的,且可能随时出现错误。维护编制文件更是如此,尤为是当不一样的编译器和平台组合须要若干个编制文件时。经过qmake工具,Qt可以很好地面对这一挑战。这个工具能够为目标平台生成准确无误的编制文件。
四、Qt是开源软件(Open Source)
Qt产品提供的是采用双重受权的软件许可模式。在该双重受权模式下,Qt产品不只可在得到商业许可下针对专利软件开发,并且还能够在GPL(通用公共许可证,版本2或版本3)下用于开发免费和开源软件。
五、Qt架构健壮,性能强大(powerful)
Qt 已由成千上万商业与开放源应用程序员,在多个操做系统与编译器上进行了测试,奠基了高性能应用程序的基础。
此外,Qt运行时无需依赖“虚拟器”,模拟层或大容量的运行时间环境。它如本地化的应用程序同样,可以直接写入低级的图形函数,于是使用Qt开发的应用程序能以源代码速度执行。
六、Qt使用起来简便高效(concise)
Qt统一的跨平台API 让程序员们集中精力致力于可增值的技术革新,而无须担忧维护和管理现有应用程序多版本的基础结构与界面。 所以Qt开发人员仅须要学会一种API来写入应用程序,该程序即可在任何地方运行。
Qt Software投入了至关大的努力使得Qt使用起来尽量简单和直观。来自世界各地的客户反馈广泛认为Qt编程简单而有趣;而对于商务应用而言,Qt能够转换为更多的功能,而且在保持质量性能的状况下,只需更少的维护工做。