Qt编程(一) Qt框架简介

1、Qt5 架构

qt 5将所有模块分为三个部分:Qt基本模块(Essentials)、Qt扩展模块(Add-ons)、 开发工具(Tools)

  • 基本模块定义了基础功能,是核心,兼容所有平台。包括:

    • Qt Core 核心类库,其它模块基于此模块之上
    • Qt Test 单元测试工具
    • Qt Sql
    • Qt Network
    • Qt Gui Gui开发类库,包括OpenGL
    • Qt Qml
    • Qt Quick 高度动画效果的应用程序框架\Controls\Layouts\Dialog,建立在qml和javascript基础之上
    • Qt Multimedia 视频、音频、无线电、摄像头等支持
    • Qt WebKit webkit
    • Qt Widgets qt gui 的C++扩展
  • 扩展模块定义的是对某些特殊目的的额外模块。不一定支持所有模块

  • Active Qt windows上提供对ActiveX 和COM的支持
  • Qt Android Extras 提供对android专用API的支持

2、图形界面库的架构

Qt 5 的Qt GUI 不再是一个全面的图形界面类库,而是为各种图形提供一般的处理,包括系统 集成,事件处理,OpenGL ,2D绘图,字体和文本等。而图形部件被移到了Qt Widgets 里面了。
结构图
(Win Mac X11 Symbian Android ...) -> QPA -> gui

即 三个层次:

  • 各种平台 如windows,android,x11,symbian等等
  • 平台抽象层(QPA)
  • GUI 模块 GUI模块分为两类:
    • OpenGL为核心的,是qt quick2 和 Qt WebKit的基础。包括QSurface、QOpenGL、QWindow、QScreen、QOpenGLContext
    • 一般图形类,是Qt Widgets和qt quick1的基础

3、Qt 5的新特性

  • 支持所有移动平台,如android,ios,blackberry 10,winrt
  • 图形处理能力和性能超强。 使用OpenGL的场景图来加速Qt Quick 的图形显示,包括动画,图形效果,粒子系统
  • Qt Quick 为qml的基础框架。包括一下特色:
    • Canvas html5 api
    • Shader Effects
    • Particle Effects 粒子系统
    • SPrites 精灵动画效果
    • Offline storage javascript api
    • Window 顶级窗口
    • OpenGL
  • 设计界面变得简单 qt quick
  • 传感器和位置 可以在便携设备上获取传感器信息
  • WebKit 和 HTML5
  • 多媒体
  • 特定平台的附加功能
  • 信号槽机制做了变更,支持编译时类型检查,同时支持对任意函数的支持,包括全局函数,静态函数,匿名函数都可以作为槽函数
  • 支持json解析
  • 引入了对插件形式和文件内容的Mime类型识别
  • Perl的正则表达式引擎
  • c++ 11的支持

你可能感兴趣的:(开发技能)