
QT
文章平均质量分 81
wangpengk7788
这个作者很懒,什么都没留下…
展开
-
QT信号和槽机制分析
QObject这个class是QT对象模型的核心,绝大部分的 QT 类都是从这个类继承而来。这个模型的中心特征就是一个叫做信号和槽(signal and slot)的机制来实现对象间的通讯,你可以把一个信号和另一个槽通过 connect(„) 方法连接起来,并可以使用disconnect(„) 方法来断开这种连接,你还可以通过调用blockSignal(„) 这个方法来临时的阻塞信号.原创 2017-02-16 18:23:05 · 2812 阅读 · 0 评论 -
读QT5.7源码(七)QMetaObjectPrivate
QMetaObjectPrivate 提供了对QMetaObject类成员中 uint类型数组的管理,这是个复杂的结构,因此QMetaObjectPrivate提供了结构的定义和操作函数,来方便对其的管理工作。添加了 classInfo method emum property 后MOC生成的 QMetaObject.data 节类的声明:class Wid原创 2017-02-21 04:49:25 · 1116 阅读 · 0 评论 -
读QT5.7源码(六)QMetaClassInfo 和 QMetaProperty
ClassInfo 和 Property在源码中的定义:MOC生成的字符串结构MOC生成的uini数组结构原创 2017-02-22 00:04:59 · 1957 阅读 · 0 评论 -
读QT5.7源码(五)QMetaEnum
Enum在QMetaObject中的分布:QMetaEnum 类用来管理对应的enum结构,方面查询等操作,下面是它的定义class Q_CORE_EXPORT QMetaEnum{public: Q_DECL_CONSTEXPR inline QMetaEnum() : mobj(Q_NULLPTR), handle(0) {} const原创 2017-02-21 23:45:50 · 1718 阅读 · 0 评论 -
读QT5.7源码(四)QMetaMethod 和 QMetaMethodPrivate
QMetaMethod 和 QMetaMethodPrivate 是用来管理QMetaObject包含信息中的函数节的。MOC生成的函数结构图如下首先是字符串结构函数结构图:每个函数节 占5个int ,第一个是函数名字符串,在字符串数组中的索引值为3,刚好对应字符数组中的“Te原创 2017-02-21 18:23:38 · 3069 阅读 · 1 评论 -
读QT5.7源码(三)Q_OBJECT 和QMetaObject
Qt meta-object系统基于三个方面: 1、QObject提供一个基类,方便派生类使用meta-object系统的功能; 2、Q_OBJECT宏,在类的声明体内激活meta-object功能,比如动态属性、信号、槽; 3、Meta Object编译器(MOC),为每个QObject派生类生成代码,以支持meta-object功能。QObject定义了从一个原创 2017-02-21 01:13:06 · 4429 阅读 · 0 评论 -
读QT5.7源码(二)QByteArray
QByteArray 以QTypeArrayData做底层做了聚合,实现了对字节为单位的数组的管理。QT中是这样描述它的QByteArray can be used to store both raw bytes (including '\0's) and traditional 8-bit '\0'-terminated strings. Using QByteArr原创 2017-02-20 01:08:39 · 6523 阅读 · 0 评论 -
读QT5.7源码(一)QArrayData QTypedArrayData
QArrayData QTypedArrayData这两个类是配套的,后者是以前者为基础的类模板,以方便对不同类型的数组提供抽象管理。他们被定义下同一个头文件和源文件中,分别是QarraryData.h 和 QarraryData.cpp 位于qtcode文件夹中QArrayData定义如下struct Q_CORE_EXPORT QArrayData{ QtPri原创 2017-02-19 23:32:15 · 8003 阅读 · 0 评论 -
关于qt中的tr()函数
在论坛中漂,经常遇到有人遇到tr相关的问题。用tr的有两类人:(1)因为发现中文老出问题,然后搜索,发现很多人用tr,于是他也开始用tr(2)另一类人,确实是出于国际化的需要,将需要在界面上显示的文件都用tr包起来,这有分两种:(2a) 用tr包住英文(最最推荐的用法,源码英文,然后提供英文到其他语言的翻译包)(2b) 用tr包住中文(源码用中文,然后提供中文到其他语言的翻转载 2017-02-19 21:20:42 · 2559 阅读 · 0 评论 -
读QT5.7源码(七)QObjectData 和 QObjectPrivate
在QObject中定义了一个保护权限的成员变量 d_ptrprotected: QScopedPointer d_ptr;QScopePointerQObject 几乎是所有QT中的类的基类,因此QT中每个继承于Qobject的类都有这个指针,指向一个动态分配的QObjectData对象。QObjectData类的定义class Q_CORE_E原创 2017-02-23 00:57:03 · 4302 阅读 · 0 评论