美文网首页
QT类库概述(003)

QT类库概述(003)

作者: 独一无二的柠檬 | 来源:发表于2019-03-03 12:36 被阅读0次

    *Qt核心特点

    Qt类库概述.jpg
    概述
    Qt core模块是Qt类库的核心,所有其他模块都依赖于此模块,如果使用qmake来构建项目,Qt core模块将被自动添加。
    比如:QT  +=core gui
    

    元对象系统由三个基础组成:
    1.QObject类是所有使用元对象系统的类的基类
    2.在一个类的private部分声明Q_OBJECT宏,使得类可以使用元对象的特性,如动态属性,信号与槽。
    3.MOC(元对象编译器)为每个QOject的子类提供必要的代码来实现元对象系统的特性。

    属性系统
    Qt提供一个Q_PROPERTY()宏可以定义属性,它也是基于元对象系统实现的。Qt的属性系统与C++编译器无关,可以用任何标准的C++编译器编译定义了属性的Qt C++程序。
    信号与槽
    Qt使用对象与槽的机制实现对象间通信,它隐藏了复杂的底层实现,完成信号与槽的关联后,发射信号时并不需要知道Qt是如何找到槽函数的。

    *Qt全局定义
    <QtGlobal>头文件包含了Qt类库的一些全局定义,包含基本数据类型,函数和宏,一般Qt类的头文件都会包含该文件,所以不用显式的包含这个头文件也可以使用其中的定义。
    数据类型定义
    为了确保在各个平台上各数据类型都有统一的长度,Qt为各种常见的数据类型定义了符号,如qint8就是signed chard的类型定义:

    typedef signed char  qint8;
    

    函数
    <QtGlobal>头文件包含了一些常用函数的定义,这些函数多以模板类型作为参数返回相应的模板类型,模板类型可以用任何其他类型替换。
    宏定义
    <QtGlobal>头文件中定义了很多宏。

    *容器类
    Qt提供了多个基于模板的容器类,这些容器类可以用于存储指定类型的数据项,例如常用的字符串列表类QStringList就是从容器类QList<QString>继承的,实现对字符串列表的添加,存储,删除等操作。
    Qt的容器类分为顺序容器和关联容器两类。
    顺序容器类
    Qt的顺序容器类有QList,QLinkedList,QVector,QStack和QQueue.
    关联容器类
    Qt的关联容器类有QMap,QMultiMap,QHash,QMultiHash和QSet.

    *容器类的迭代
    迭代器为访问容器类里的数据项提供了统一的方法,Qt有两种迭代器类:Java类型迭代器和STL类型迭代器,前者更易使用,且提供一些高级操作,后者的效率更高。
    Java类型迭代器

    STL类型迭代器
    foreach关键字
    *Qt类库的模块
    Qt基本模块
    Qt附加模块
    增值模块
    技术预览模块
    Qt工具

    相关文章

      网友评论

          本文标题:QT类库概述(003)

          本文链接:https://www.haomeiwen.com/subject/hjepuqtx.html