找回密码
 注册
搜索

QT概述(一)

已有 128 次阅读2013-7-31 11:05 |个人分类:DB| 开发

QT概述

基于C++GUI开发框架,跨平台。Qt 是一个用于桌面系统和嵌入式开发的跨平台应用程序框架。

QT是挪威TROLLTECH公司开发的跨平台C++工具,在UNIX下非常出名;他的宗旨是“一次编码到处编译”与JAVA的“一次编译到处运行”有着本质的区别,作为跨平台开发工具,他的运行速度非常的快(因为他不需要虚拟机的支持),开发的GUI非常漂亮(有人认为比VISUAL C++强的多,而且简单)。 

QT技术特点
  • 面向对象:Qt 的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,对于用户开发来说是非常方便的。Qt 提供了一种称为signals/slots 的安全类型来替代 callback,这使得各个元件之间的协同工作变得十分简单。
  • 丰富的组件和API:Qt 包括多达250个以上的C++类,还替供基于模板的collections, serializationfileI/O devicedirectory management, date/time 类。甚至还包括正则表达式的处理功能。
  • 支持 2D/3D 图形渲染,支持 OpenGL
  • 对象的通信机制,信号-
  • 方便的事件处理模型
  • 夸平台的GUI应用程序的支持
  • XML 支持,数据库,网络编程,开发工具包,大量的开发文档
Qt相对于C++增加的特性有 

  • 能够强有力地支持对象间通信的信号与槽机制 
  • 支持可查询和可设计的动态对象属性机制 
  • 事件和事件过滤器 
  • 基于上下文的字符串本地化 
  • 能够支持多任务的定时器 
  • 支持按层次检索的对象树 
  • 受保护指针 
  • 动态类型转换 

开发工具包 

  • 图形设计器:Qt Designer 
  • 编译工具:qmake 
  • 本地化工具:Qt Linguist 
  • 帮助文档:Qt Assistant 
  • 元对象编译器:moc 
  • 用户接口编译器:uic 
  • 资源编译器:rcc 

QT模块介绍-----头文件 

Qt 5 与 Qt 4 最大的一个区别之一是底层架构有了修改。Qt 5 引入了模块化的概念,将众多功能细分到几个模块之中。Qt 4 也有模块的概念,但是是一种很粗的划分,而 Qt 5 则更加细化。本节主要对 Qt 5 的模块进行一个简单的介绍,以便以后大家需要哪些功能的时候知道到哪个模块去寻找。

Qt 5 模块分为 Essentials Modules 和 Add-on Modules 两部分。前者是基础模块,在所有平台上都可用;后者是扩展模块,建立在基础模块的基础之上,在能够运行 Qt 的平台之上可以酌情引入。

Qt 基础模块分为以下几个:

  • Qt Core,提供核心的非 GUI 功能,所有模块都需要这个模块。这个模块的类包括了动画框架、定时器、各个容器类、时间日期类、事件、IOJSON、插件机制、智能指针、图形(矩形、路径等)、线程、XML 等。所有这些类都可以通过 <QtCore> 头文件引入。
  • Qt Gui,提供 GUI 程序的基本功能,包括与窗口系统的集成、事件处理、OpenGL 和 OpenGL ES 集成、2D 图像、字体、拖放等。这些类一般由 Qt 用户界面类内部使用,当然也可以用于访问底层的 OpenGL ES 图像 APIQt Gui 模块提供的是所有图形用户界面程序都需要的通用功能。
  • Qt Multimedia,提供视频、音频、收音机以及摄像头等功能。这些类可以通过 <QtMultimedia> 引入,而且需要在 pro 文件中添加 QT += multimedia
  • Qt Network,提供跨平台的网络功能。这些类可以通过 <QtNetwork> 引入,而且需要在 pro 文件中添加 QT += network
  • Qt Qml,提供供 QML(一种脚本语言,也提供 JavaScript 的交互机制) 使用的 C++ API。这些类可以通过 <QtQml> 引入,而且需要在 pro 文件中添加 QT += qml
  • Qt Quick,允许在 Qt/C++ 程序中嵌入 Qt Quick(一种基于 Qt 的高度动画的用户界面,适合于移动平台开发)。这些类可以通过 <QtQuick> 引入,而且需要在 pro 文件中添加 QT += quick
  • Qt SQL,允许使用 SQL 访问数据库。这些类可以通过 <QtSql> 引入,而且需要在 pro 文件中添加 QT += sql
  • Qt Test,提供 Qt 程序的单元测试功能。这些类可以通过 <QtTest> 引入,而且需要在 pro 文件中添加 QT += testlib
  • Qt Webkit,基于 WebKit2 的实现以及一套全新的 QML API(顺便说一下,Qt 4.8 附带的是 QtWebkit 2.2)。

全部作者的其他最新日志

评论 (0 个评论)

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-11-23 22:37 , Processed in 0.029808 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

返回顶部