Qt元对象系统
Qt元對象系統
- Qt元對象系統
Qt元對象系統
Qt的元對象系統提供了對象間通信,運行時類型信息和動態屬性系統的信號和時隙機制。
元對象系統基于三件事:
該QObject的類提供一個基類,可以采取元對象系統的優點的對象。
所述Q_OBJECT類聲明的私人段內的宏用于啟用元對象的特性,諸如動態屬性,信號,和槽。
的元對象編譯器(moc)將每個QObject的子類用的必要的代碼來實現的元對象特征。
該moc工具讀取C ++源文件。如果找到包含Q_OBJECT宏的一個或多個類聲明,它將生成另一個C ++源文件,其中包含每個這些類的元對象代碼。生成的源文件要么被#include“ d”到類的源文件中,要么通常被編譯并與類的實現鏈接。
除了提供用于對象之間通信的信號和時隙機制(引入系統的主要原因)之外,元對象代碼還提供了以下附加功能:
QObject :: metaObject()返回該類的關聯元對象。
QMetaObject :: className()在運行時以字符串形式返回類名稱,而無需通過C ++編譯器提供本機運行時類型信息(RTTI)支持。
QObject :: inherits()函數返回對象是否是繼承QObject繼承樹中指定類的類的實例。
QObject :: tr()轉換字符串以進行國際化。
QObject :: setProperty()和QObje
總結
- 上一篇: 回形针是谁 因争议话题再次停止更新
- 下一篇: Qt属性系统