Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。Qt 软件前身为 Trolltech (奇趣科技),
2008年6月被诺基亚收购。
Qt是什么?
Qt是综合性跨平台的C++应用开发框架,它包括:一个存有400多种图形化用户界面的宏大C++类库、数据库、内核、XML、网络功能、OpenGL、多线程及众多用于以下目的的高级跨平台开发工具:
• GUI版面和表单设计
• 国际化
• 文档
Qt库
- Qt 类库拥有构建强健高端应用所需的全部函数
- 被分为几个模块,Qt的直属API包括:
- 核心类
- GUI类
- SQL数据库类
- XML类
- 网络类
- OpenGL® 3D图像类
- 其它还有更多
Qt开发工具
- Qt Creator • 用于Qt开发的轻量级跨平台集成开发环境
- Qt Designer •强大的拖曳式图形化用户界面排版和设计工具
- Qt Linguist • 一整套工具,支持对Qt应用作快捷无误的翻译
- Qt Assistant • 可定制可重发布的帮助文件和文档阅读器
- qmake • 跨平台makefile生成器
Qt Creator
Qt Creator在所有开发工具中最年轻,但其性能却令Qt开发伙伴们爱不释手。你可以在Qt Creator产品专页中看到这方面的信息。
Qt Designer
Qt Designer是强大的拖曳式图形化用户界面排版和表单构建器
功能
- 支持表单和对话框的创建,可即时预览
- 与Qt版面系统集成
- 宏大的标准widgets集
- 支持客户定制的widgets和对话框
- 与Microsoft® Visual Studio .NET无缝集成
优势
- 大大加快了界面的设计过程
- 支持所有平台上的本地外观感觉
- 开发者能在自行选择的工作环境内充分发挥其现有技能
Qt Linguist
Qt Linguist是一组能理顺国际化工作流的工具。
功能
- 采集所有的用户界面文本并以一个简洁的窗口将其展现给人工译者
- 支持所有语言
- 从单一应用的二进制程序内部提供同时多语言支持及同时多写入系统
优势
- 大大加快了翻译/本地化进程
- 与Qt的语言敏感排版引擎协同,以创建与语言不相关的简洁一致的界面
- 轻松应对国际市场
Qt Assistant
Qt Assistant是完全可定制、可重新发行的帮助文件/文档浏览器
功能
- 简单明快的web浏览器般导航、书签和文档文件连接
- 支持富文本HTML
- 全文本关键词查阅
- 可定制并随Qt供应
优势
- 无需再从头开始构建帮助系统
- 充分利用现有的HTML技能
- 以方便搜寻和导航的格式向最终用户提供文档
qmake
功能
- 读取工程源码,生成依赖关系树,生成平台相关工程和makefiles
- 与Visual Studio及Xcode集成
优势
- 无需担忧跨平台编译
- 降低对makefile手工构建的需求度
Qt 术语
- Widgets:UI组件(按钮、消息框、应用视窗)
- 版面管理器:对各种子widgets的自动定位及自动改变大小
- 信号与槽:对象间通信
- 事件:系统事件(鼠标点击、键盘,等等)
- 动作:如,在工具条和菜单中的保存动作
Qt架构
- 精准模拟外观感觉的Widgets也可被开发者改编
- 薄封装的MFC, Motif, Layered工具包。较低的性能表现,较低的灵活性
- 面向多平台的单一源码,仅需重新编译
Qt图形化架构
Qt模块
模块 |
说明 |
QtCore |
供其他模块使用的非图形化核心类 |
QtGui |
图形化用户界面(GUI)组件 |
QtNetwork |
用于网络编程的类 |
QtOpenGL |
OpenGL支持类 |
QtScript |
用于评估Qt脚本的类 |
QtSql |
使用SQL对数据库进行整合的类 |
QtSvg |
用于显示SVG文件内容的类 |
QtWebKit |
用于显示和编辑web内容的类 |
QtXml |
用于处理XML的类 |
QtXmlPatterns |
用于XML和定制数据模型的XQuery及 XPath引擎 |
Phonon |
多媒体框架类 |
Qt3Support |
Qt 3兼容类 |
QtDesigner |
用于扩展Qt Designer的类 |
QtUiTools |
运行时从 ui-files创建用户界面 |
QtHelp |
用于在线帮助的类 |
QtAssistant |
在线帮助支持 |
QtTest |
用于单元测试的工具类 |
Qt的优点
- 一套源码面向多个平台
- 开发时间少– 进入市场早
- 降低维护开销
- 避免开发集体中的操作系统小集团
- 真正的平台独立性
- 用几周时间就能应付一个新平台,而非几月
- 快速响应不断变化的市场需求
- 与平台变化隔绝
- Qt得到了积极的维护和开发,以支持所有最新的主流OS款型
- 将开发力量集中于增值创新
- Qt能提供真正持久的竞争优势
- Qt使C++编程加快了,容易了,而且更直观了,因而提高了开发者的效率
- Qt部署工具减少了开发过程中通常具有的瓶颈:
- 图形化用户界面设计和布局- Qt Designer
- 翻译/本地化- Qt Linguist
- 文档编制- Qt Assistant
- 跨平台build系统– qmake
- Qt提供了真正意义上的平台自由度– 应付一个新平台按日或周计算,而不是按月或年计算
- 一套代码基意味着更少的维护时间和开销 – 成倍提高开发产出
- 在所有平台上对全部源代码的完全可访问性使得开发团队能修订和扩展Qt以满足其独特需求,从而加速开发进程。
阅读(3954) | 评论(0) | 转发(1) |