Qt简介 及与MFC、GDK+的比较
Qt
C++图形用户界面应用程序开发框架。
Qt的由来和发展
Haavard Nord 和Eirik Chambe-Eng于1991年开始开发"Qt",1994年3月4日创立公司,早名为Quasar Technologies,然后更名为Troll Tech,然后在改为Trolltech,中文名是“奇趣科技”。2008年6月17日被NOKIA公司收购,以增强该公司在跨平台软件研发方面的实力,更名Qt Software。
该工具包名为Qt是因为字母 Q在Haavard的Emacs字体特别漂亮,而“t”代表“toolkit”,灵感来自Xt,X toolkit。
2009年5月11日,诺基亚Qt Software 宣布 Qt源代码管理系统面向公众开放,Qt 开发人员可通过为 Qt 以及与 Qt 相关的项目贡献代码、翻译、示例以及其他内容,协助引导和塑造 Qt未来的发展。为了便于这些内容的管理,Qt Software 启用了基于 Git 和 Gitorious 开源项目的Web 源代码管理系统。
在推出开放式 Qt 代码库的同时,Qt Software 在其网站发布了其产品规划(Roadmap)。其中概述了研发项目中的新功能,展现了现阶段对 Qt 未来发展方向的观点,以期鼓励社区提供反馈和贡献代码,共同引导和塑造 Qt 的未来。
2、Qt特性
本质上来说, Qt是一个跨平台的C++应用程序开发框架,有时又被称为C++部件工具箱。Qt被用在KDE桌面环境、Opera、Google Earth、Skype、Adobe Photoshop Album和VirtualBox的开发中。它是诺基亚(Nokia)的Qt Development Frameworks 部门的产品。使用 Qt ,只需一次性开发应用程序和用户界面,无须重新编写源代码,便可跨不同桌面和嵌入式操作系统部署这些应用程序。
a) 优良的跨平台特性:
Qt支持下列操作系统: Microsoft Windows 95/98, Microsoft Windows NT, Linux, Solaris, SunOS, HP-UX, Digital UNIX (OSF/1, Tru64), Irix, FreeBSD, BSD/OS, SCO, AIX, OS390,QNX 等等。
b) 面向对象
Qt 的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,对于用户开发来说是非常 方便的。 Qt 提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各个元件 之间的协同工作变得十分简单。
c) 丰富的 API
Qt 包括多达 250 个以上的 C++ 类,还替供基于模板的 collections, serialization, file, I/O device, directory management, date/time 类。甚至还包括正则表达式的处理 功能。
d) 支持 2D/3D 图形渲染,支持 OpenGL
e) 大量的开发文档
f) XML 支持
近诺基亚发布了Qt 4.6——新版的跨平台应用程序和用户界面框架。Qt 4.6 对全新平台提供支持,具有强大的全新图形处理能力并支持多点触摸和手势输入,让高级应用程序和设备的开发过程变得更加轻松和快乐。
诺基亚应用服务和框架副总裁Sebastian Nystrom说:“不论是什么样产品设计或开发平台,Qt 4.6的发布对开发人员来说都是一件令人兴奋的事。”
“开发人员可以轻而易举地为桌面平台或设备(包括数亿部基于Symbian 和 Maemo系统的设备)开发出具有视觉美感和网络连接功能的应用程序。”
Nystr?m补充说:“开发人员将非常喜欢使用Qt直观的编程界面,快速开发出功能强大、外表美观的应用程序。”
更多平台
Qt 4.6 首次包含了对Symbian 平台的支持,并在其所支持的平台中新增了 Windows 7、Apple Mac OS 10.6 (雪豹) 和即将上市的Maemo 6。此外还为实时操作系统QNX 和 VxWorks提供了网络社区支持。对Maemo 5 的支持目前也已进入研发阶段,其技术预览版第二版已于今日发布。
Qt 对 Symbian 和 Maemo 的支持首次为开发人员创造了使用同一代码库同时针对这两个平台进行开发的机会。能够跨平台分享代码就意味着开发人员所开发的应用程序上市的速度将更快,影响的设备用户群将更广。
Qt Mobility项目下的全新Qt API技术预览版也于今日同时发布。这些跨平台的API为开发人员提供了多种功能,如导航类设备的定位功能,以及信息发送和接收、联系人和网络连接管理等。
外观更炫
Qt 4.6是在4.5图形增强功能的基础上创建的,进一步强化了这些图形功能,添加了全新的动画框架(Animation Framework)——包括直观的状态机功能——以及全新的高级图形功能,如不透明、阴影、闪光和滤镜等。
使用手指
Qt4.6令人兴奋的新功能之一就是可以创建多点触摸应用程序。这种全新的基于多触点和手势的输入法(如轻触和动力滚动)使Qt4.6框架的功能更为强大,用户可以通过触觉以动态的方式与应用程序和设备进行互动。
性能更强
传统软件开发观点认为高级用户界面功能的获得通常是以性能严重受损作为代价的。Qt 4.6 对此观点提出了挑战,为此投入大量工作,既要获得佳性能,又要能让开发人员所开发的产品达到用户所要求的“令人惊叹”的效果。
性能提升主要包括:一个经过高度优化、重新编写的 Qt GraphicsView 渲染算法、一个全新的 OpenGL 绘图引擎、WebKit、使用 OpenVG 对 2D 矢量图形的支持,以及对全新 DirectFB 的支持。
新工具
在发布 Qt 4.6 的同时,作为 Qt 开发跨平台 IDE 的 Qt Creator 也发布了更新版本。Qt Creator 1.3 和 Qt 4.6共同构成的 Qt SDK,包含了开发跨平台应用程序所需的全部功能。(来自programbbs)
3、用QT能做什么?
在QT的官方网站谈到了15年来取得了的成就,它帮助世界各地和各个行业组织开发出先进的高度创新的应用和设备。
使用Qt,众多的开发商和公司已经能够:
● 减少了近50%的开发时间。
● 加速了50%的开发速度由于代码可维护
● 减少了50%的代码量
Qt的用户怎么说?
● 94%报告说,Qt的满足或超过其发展的期望
● 92%会向他人推荐使用Qt
● 76%报告因为使用Qt,生产率提高
Qt的应用领域:
1.开发速度
整体来说可能MFC会快捷一些,因为windows平台的开发工具大多很智能,因为立足于windows的开发人群很广,从菜鸟到专业人士,但是QT由于基于Linux,可用的开发工具不多,大都比较专业,多是第三方产品,而且集成度不大,第三方库也没有MFC的多,从这一点MFC略胜一筹,但是QT自从被Nokia收购后,官方发布了跨平台集成开发环境QTCreator,所以之后走向就不好说了,个人总体感觉QT Creator和VS.net差距比较大,还需改进
但是从库本身来说QT集成的功能较MFC庞大,而且使用的封装技术信号和槽也是比较受到赞许的,比如QT Script为QT提供嵌入式脚本,QT界面库支持CSS,所以QT做出来的界面比MFC要好,而且比较容易,MFC就需要借助第三方库了。因为MFC是浅层封装(最新的2008 sp1加入了BCG的高级界面库,可能有所改善)windows SDK,以降低使用windows SDK引起的开发效率的降低,和开发难度的增加。所以QT库是比MFC优秀的,两个库都经受了时间的考验,稳定性都很高,Bug几乎没有
2.运行效率
MFC由于其浅层封装的特点,所以运行效率是比较高的,加上vc对windows的针对性优化,整体性能是比较高的,但是如果加入第三方库就不敢保证了QT因为库比较庞大,封装层次较深,所以运行效率较MFC为低,但是在现在的机器配置下,C#大家都不介意了,这些会引起人们的介意吗?
3.应用范围
4.学习难度
QT的封装哲学比较明晰,和系统隔离的比较好,所以个人感觉门槛不高
MFC较难精通,因为深入开发之后SDK还是要了解的,否则程序感觉比较儿童化,呵呵
Qt是一个跨平台的图形用户界面开发库,它不仅支持Linux操作系统,还支持所有类型的UNIX以及Windows操作系统。Qt良好的封装机制使它模块化程度非常高,可重用性很强,Qt提供了丰富的API供开发人员使用。使用Qt开发的图形用户界面程序具有良好的稳定性和健壮性。桌面环境KDE(K Desktop EnVironment即K桌面环境)就是使用Qt作为其底层库开发出来的。
由于Qt使用C++面向对象编程语言作为其开发语言,而许多在Linux下从事开发的程序员更喜欢或更习惯于用C语言。GTK+使用C语言作为开发语言。它基于LGPL授权,因此GTK+是开放源代码而且完全免费的。GTK+简单易用,执行效率高。基于这些原因,GTK+拥有为数众多的拥护者。Linux的桌面环境GNOME就是建立在GTK+基础上。
转载于:https://www.cnblogs.com/mingyoujizao/p/9547563.html
Qt简介 及与MFC、GDK+的比较相关推荐
- Qt界面编程-Qt简介
一.Qt简介 Qt是什么 图形用户程序框架,是对底层应用编程接口API面向对象的封装. 是一套基于C++语言的类库,专注但不局限于图形用户界面的开发,也可以进行系统调用.网络编程.数据库.2D/3D图 ...
- QT编程从入门到精通之一:“第一章:认识QT”之“1.1 Qt简介”
目录 第一章:认识QT 1.1 Qt简介 第一章:认识QT Qt是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架.既可以开发GUI程序,也可用于开发非GUI程序,比 ...
- QT开发学习-第一章-QT简介
QT简介 一.QT简介 1.QT简介 2.QT优点 二.QT开发工具 1.Qt Creator 2.Qt Designer 3.Qt Linguist 4.Qt Assistant 5.Qmake 6 ...
- Hello Qt(一)——QT简介
一.QT简介 1.QT简介 QT是一个跨平台的C++图形用户界面库,由挪威TrollTech公司出品,目前包括Qt Creator, QtEmbedded,Qt Designer快速开发工具,Qt L ...
- Qt简介以及与其他GUI库的比较
一.Qt简介 Qt 是一个跨平台的 C++ 框架(C++库),目前最新的版本是 Qt5.Qt5 还包含了很多小版本,其中推荐 Qt5.6 或 Qt5.9,这两个版本是 LTS 版本(即长期支持版本), ...
- QT简介及QT环境搭建
QT简介及QT环境搭建 文章目录 QT简介及QT环境搭建 一.QT简介 1. 什么是QT? 2. QT的发展史 3. QT支持的平台 4. QT的优点 5. QT开发工具 二.QT环境搭建(CentO ...
- C++桌面应用开发(Qt学习)--Qt简介及第一个Qt程序
Qt简介 历史: 1991 奇趣科技 优点:跨平台:接口简单,易上手:简化了内存管理操作 成功案例:Linux桌面环境:WPS:谷歌地图等 创建一个Qt程序 点击创建项目后,选择项目路径以及给项目起名 ...
- QT学习笔记(1)----- QT简介
名字由来 在<C++ GUI Programming with Qt 4>里有这么一段介绍: A Brief Histroy of Qt: The letter 'Q' was chose ...
- Qt简介以及如何配置Qt使用VS2010进行开发
转自:http://www.cnblogs.com/rockhawk/archive/2010/12/15/1906956.html Qt是神马东西? Qt – 一个跨平台应用程序和UI开发框架 它包 ...
最新文章
- 【Java】内部类 语法总结
- SQL Server中的高可用性(3)----复制 (转载)
- python下载的库要放到哪里-python库在哪里下载?怎么安装?
- Andriod 学习笔记 layout布局
- Spring Cloud-鸿鹄Cloud分布式微服务云系统—架构图
- Jsp页面用table表格来让文字和文本框对齐
- android中的通信机制总结
- sbit和sfr的定义
- Atitit,通过pid获取进程文件路径 java php c#.net版本大总结
- 漫谈WebQQ 协议
- 日常办公,无特殊要求者怎么选择显示器?
- Flutter杂症(couldn't find libflutter.so)
- 计算机游戏155,MAME0.155经典1430款游戏合集
- sau交流学习社区--基于thinkjs+vue+redis+mysql+es6开发的周报企业管理系统weekly
- css选择器制作一个网页,CSS选择器和做网页思路
- FTM(FlexTimerModule)TIMER总结
- 什么是桶(bucket)?什么是度量(metrics)?
- 安装(解密)win10 10074 esd 更新 10162 esd
- 高德地图坐标的获取( JavaScript API )
- 《道德经》第二十四章
热门文章
- 定积分及其应用知识点总结_高中数学知识点复习资料归纳整理:定积分和微积分基本定理...
- 安徽大学计算机学硕复试线,安徽大学2020年考研复试分数线
- Principle for Mac汉化破解版永久激活方法
- 原生js获取滚动条滚动距离scrollTop一直为0
- DELPHI 内存流修改16进制文件, 文件太大时候OutofMemory的问题研究
- python爬取今日头条手机app广告_python3今日头条App电商数据抓取
- 中国推进大数据综合试验区建设 带动经济提质增效
- 进军Json,以战养战 -- 爬取搜狗图片代码分析
- 《动手学深度学习》13.4锚框
- 科骏达导航端口测试软件,全网最全的导航端口波特率汇总